Compare commits
12 Commits
add-beauti
...
i18n-testi
Author | SHA1 | Date | |
---|---|---|---|
3c85f2dfb5 | |||
788bd3c925 | |||
48f6c97655 | |||
52ee6cda74 | |||
9882bd4998 | |||
e107a9c5c2 | |||
06f5ae855d | |||
e6230a0c58 | |||
887ffb42fe | |||
ecca9fc419 | |||
3b5936f6ff | |||
84bec4718a |
21
.github/ISSUE_TEMPLATE/6_Translation_Issues.md
vendored
Normal file
21
.github/ISSUE_TEMPLATE/6_Translation_Issues.md
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
name: "🇦🇶 Translation Issue"
|
||||||
|
about: Report any issue with a translated site.
|
||||||
|
title: "🇦🇶 Translated Site Issue | "
|
||||||
|
labels: 🌐 website issue, 🇦🇶 translations
|
||||||
|
---
|
||||||
|
|
||||||
|
## Site Affected
|
||||||
|
|
||||||
|
**Domain:**
|
||||||
|
|
||||||
|
<!-- Add an x to the box below if true [x] -->
|
||||||
|
- [ ] This site is listed as a translated version of the site in the privacytools.io navbar.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
<!--
|
||||||
|
## Screenshots
|
||||||
|
|
||||||
|
Please add screenshots if applicable
|
||||||
|
-->
|
95
.gitignore
vendored
95
.gitignore
vendored
@ -3,98 +3,3 @@ Gemfile
|
|||||||
Gemfile.lock
|
Gemfile.lock
|
||||||
.sass-cache/
|
.sass-cache/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
# Created by https://www.gitignore.io/api/node
|
|
||||||
# Edit at https://www.gitignore.io/?templates=node
|
|
||||||
|
|
||||||
### Node ###
|
|
||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
lerna-debug.log*
|
|
||||||
|
|
||||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
|
||||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
||||||
lib-cov
|
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
|
||||||
coverage
|
|
||||||
*.lcov
|
|
||||||
|
|
||||||
# nyc test coverage
|
|
||||||
.nyc_output
|
|
||||||
|
|
||||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
|
||||||
.grunt
|
|
||||||
|
|
||||||
# Bower dependency directory (https://bower.io/)
|
|
||||||
bower_components
|
|
||||||
|
|
||||||
# node-waf configuration
|
|
||||||
.lock-wscript
|
|
||||||
|
|
||||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
|
||||||
build/Release
|
|
||||||
|
|
||||||
# Dependency directories
|
|
||||||
node_modules/
|
|
||||||
jspm_packages/
|
|
||||||
|
|
||||||
# TypeScript v1 declaration files
|
|
||||||
typings/
|
|
||||||
|
|
||||||
# TypeScript cache
|
|
||||||
*.tsbuildinfo
|
|
||||||
|
|
||||||
# Optional npm cache directory
|
|
||||||
.npm
|
|
||||||
|
|
||||||
# Optional eslint cache
|
|
||||||
.eslintcache
|
|
||||||
|
|
||||||
# Optional REPL history
|
|
||||||
.node_repl_history
|
|
||||||
|
|
||||||
# Output of 'npm pack'
|
|
||||||
*.tgz
|
|
||||||
|
|
||||||
# Yarn Integrity file
|
|
||||||
.yarn-integrity
|
|
||||||
|
|
||||||
# dotenv environment variables file
|
|
||||||
.env
|
|
||||||
.env.test
|
|
||||||
|
|
||||||
# parcel-bundler cache (https://parceljs.org/)
|
|
||||||
.cache
|
|
||||||
|
|
||||||
# next.js build output
|
|
||||||
.next
|
|
||||||
|
|
||||||
# nuxt.js build output
|
|
||||||
.nuxt
|
|
||||||
|
|
||||||
# vuepress build output
|
|
||||||
.vuepress/dist
|
|
||||||
|
|
||||||
# Serverless directories
|
|
||||||
.serverless/
|
|
||||||
|
|
||||||
# FuseBox cache
|
|
||||||
.fusebox/
|
|
||||||
|
|
||||||
# DynamoDB Local files
|
|
||||||
.dynamodb/
|
|
||||||
|
|
||||||
# End of https://www.gitignore.io/api/node
|
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"html": {
|
|
||||||
"indent_with_tabs": true,
|
|
||||||
"indent_handlebars": true
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"*.html": "bin/html-beautify-check.sh"
|
|
||||||
}
|
|
16
.travis.yml
16
.travis.yml
@ -1,19 +1,11 @@
|
|||||||
matrix:
|
language: ruby
|
||||||
include:
|
rvm:
|
||||||
- language: ruby
|
- 2.4.1
|
||||||
rvm: 2.4.1
|
|
||||||
|
|
||||||
# Assume bundler is being used, therefore
|
# Assume bundler is being used, therefore
|
||||||
# the `install` step will run `bundle install` by default.
|
# the `install` step will run `bundle install` by default.
|
||||||
script: ./bin/build.sh
|
script: ./build.sh
|
||||||
|
|
||||||
sudo: false # route your build to the container-based infrastructure for a faster build
|
sudo: false # route your build to the container-based infrastructure for a faster build
|
||||||
|
|
||||||
cache: bundler # caching bundler gem packages will speed up build
|
cache: bundler # caching bundler gem packages will speed up build
|
||||||
|
|
||||||
- language: node_js
|
|
||||||
node_js: v12.7.0
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
script: npm run format-test:html
|
|
1
Gemfile
1
Gemfile
@ -14,3 +14,4 @@ gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
|||||||
# Performance-booster for watching directories on Windows
|
# Performance-booster for watching directories on Windows
|
||||||
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
||||||
|
|
||||||
|
gem 'jekyll-multiple-languages-plugin'
|
||||||
|
13
README.md
13
README.md
@ -1,4 +1,4 @@
|
|||||||
[](https://www.privacytools.io/)
|
[](https://www.privacytools.io/)
|
||||||
|
|
||||||
_Encryption Against Global Mass Surveillance._
|
_Encryption Against Global Mass Surveillance._
|
||||||
|
|
||||||
@ -15,13 +15,9 @@ You can submit your suggestions here on GitHub [(Issues)](https://github.com/pri
|
|||||||
## Building
|
## Building
|
||||||
|
|
||||||
1. Install [Ruby](https://www.ruby-lang.org/en/documentation/installation/)
|
1. Install [Ruby](https://www.ruby-lang.org/en/documentation/installation/)
|
||||||
1. Run `gem install bundler` to install [bundler](https://bundler.io/).
|
1. Install [bundler](https://bundler.io/) by running `gem install bundler`.
|
||||||
1. Run `bundle install` to install the required Ruby dependencies.
|
1. Run `bundle install` to install the required dependencies.
|
||||||
1. Install [Node.js](https://nodejs.org/).
|
1. Use `bundle exec jekyll build` to build the website. The output can be found in the `_site` directory. Live preview is also possible by running `bundle exec jekyll serve`
|
||||||
1. Run `npm install` to install the required Node dependencies.
|
|
||||||
1. Use `npm run build` to build the website. The output can be found in the `_site` directory.
|
|
||||||
1. Use `npm run serve` for a live preview of the website.
|
|
||||||
1. Use `npm run format:html` to format the HTML source code.
|
|
||||||
|
|
||||||
# Support privacytools.io
|
# Support privacytools.io
|
||||||
|
|
||||||
@ -35,6 +31,7 @@ You can submit your suggestions here on GitHub [(Issues)](https://github.com/pri
|
|||||||
# Community Translations
|
# Community Translations
|
||||||
- [繁体中文 / Chinese](https://privacytools.twngo.xyz/) - [GitHub](https://github.com/twngo/privacytools-zh)
|
- [繁体中文 / Chinese](https://privacytools.twngo.xyz/) - [GitHub](https://github.com/twngo/privacytools-zh)
|
||||||
- [Español / Spanish](https://victorhck.gitlab.io/privacytools-es/) - [GitLab](https://gitlab.com/victorhck/privacytools-es)
|
- [Español / Spanish](https://victorhck.gitlab.io/privacytools-es/) - [GitLab](https://gitlab.com/victorhck/privacytools-es)
|
||||||
|
- [Polski / Polish](https://pl.privacytools.io) - [Gitea](https://git.privacytools.io/pl-privacytoolsIO/pl.privacytools.io)
|
||||||
- [Deutsch / German](https://privacytools.it-sec.rocks/) - [GitHub](https://github.com/Anon215/privacytools.it-sec.rocks)
|
- [Deutsch / German](https://privacytools.it-sec.rocks/) - [GitHub](https://github.com/Anon215/privacytools.it-sec.rocks)
|
||||||
- [Français / French](https://privacytools.dreads-unlock.fr/) - [GitLab](https://gitlab.com/Booteille/privacytools)
|
- [Français / French](https://privacytools.dreads-unlock.fr/) - [GitLab](https://gitlab.com/Booteille/privacytools)
|
||||||
- [Italiano / Italian](https://privacytools-it.github.io/) - [GitHub](https://github.com/privacytools-it/privacytools-it.github.io)
|
- [Italiano / Italian](https://privacytools-it.github.io/) - [GitHub](https://github.com/privacytools-it/privacytools-it.github.io)
|
||||||
|
@ -5,6 +5,8 @@ sass:
|
|||||||
style: compressed
|
style: compressed
|
||||||
plugins:
|
plugins:
|
||||||
- jekyll-sitemap
|
- jekyll-sitemap
|
||||||
|
- jekyll-multiple-languages-plugin
|
||||||
sitemap:
|
sitemap:
|
||||||
file: "/sitemap.xml"
|
file: "/sitemap.xml"
|
||||||
include: [".well-known"]
|
include: [".well-known"]
|
||||||
|
languages: ["en", "pl", "fr"]
|
||||||
|
7
_i18n/en.yml
Normal file
7
_i18n/en.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
pages:
|
||||||
|
home: Home
|
||||||
|
work: Work
|
||||||
|
category:
|
||||||
|
alpha: Alpha
|
||||||
|
beta: Beta
|
||||||
|
delta: Delta
|
3
_i18n/fr.yml
Normal file
3
_i18n/fr.yml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
pages:
|
||||||
|
home: HomeFREdited
|
||||||
|
work: WorkFR
|
3
_i18n/pl.yml
Normal file
3
_i18n/pl.yml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
pages:
|
||||||
|
home: Fantastic
|
||||||
|
work: WorkPL
|
@ -17,7 +17,8 @@
|
|||||||
{% assign text = label_data[1] %}
|
{% assign text = label_data[1] %}
|
||||||
{% assign tooltip = label_data[2] | default: "" %}
|
{% assign tooltip = label_data[2] | default: "" %}
|
||||||
{% assign help_icon = '<i class="far fa-question-circle"></i>' %}
|
{% assign help_icon = '<i class="far fa-question-circle"></i>' %}
|
||||||
<span class="badge badge-{{color}}" {% if tooltip %} data-toggle="tooltip" title="{{ tooltip }}">{{text}} {{ help_icon }}
|
<span class="badge badge-{{color}}" {% if tooltip %} data-toggle="tooltip" title="{{ tooltip }}">{{text}} {{ help_icon
|
||||||
|
}}
|
||||||
{% else %}
|
{% else %}
|
||||||
>{{text}}
|
>{{text}}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
<a class="dropdown-item" href="/providers/dns/"><i class="fa fa-tasks fa-fw"></i> DNS</a>
|
<a class="dropdown-item" href="/providers/dns/"><i class="fa fa-tasks fa-fw"></i> DNS</a>
|
||||||
<a class="dropdown-item" href="/providers/email/"><i class="fas fa-mail-bulk fa-fw"></i> Email</a>
|
<a class="dropdown-item" href="/providers/email/"><i class="fas fa-mail-bulk fa-fw"></i> Email</a>
|
||||||
<a class="dropdown-item" href="/providers/hosting/"><i class="fas fa-database fa-fw"></i> Hosting</a>
|
<a class="dropdown-item" href="/providers/hosting/"><i class="fas fa-database fa-fw"></i> Hosting</a>
|
||||||
|
<a class="dropdown-item" href="/providers/paste/"><i class="fas fa-paste fa-fw"></i> Pastebins</a>
|
||||||
<a class="dropdown-item" href="/providers/search-engines/"><i class="fab fa-searchengin fa-fw"></i> Search Engines</a>
|
<a class="dropdown-item" href="/providers/search-engines/"><i class="fab fa-searchengin fa-fw"></i> Search Engines</a>
|
||||||
<a class="dropdown-item" href="/providers/social-networks/"><i class="fas fa-expand-arrows-alt fa-fw"></i> Social Networks</a>
|
<a class="dropdown-item" href="/providers/social-networks/"><i class="fas fa-expand-arrows-alt fa-fw"></i> Social Networks</a>
|
||||||
<a class="dropdown-item" href="/providers/vpn/"><i class="far fa-eye-slash fa-fw"></i> VPN</a>
|
<a class="dropdown-item" href="/providers/vpn/"><i class="far fa-eye-slash fa-fw"></i> VPN</a>
|
||||||
@ -80,6 +81,7 @@
|
|||||||
<div class="dropdown-menu" aria-labelledby="servicesDropdown">
|
<div class="dropdown-menu" aria-labelledby="servicesDropdown">
|
||||||
<a href="https://privacytools.twngo.xyz/" class="dropdown-item">繁體中文</a>
|
<a href="https://privacytools.twngo.xyz/" class="dropdown-item">繁體中文</a>
|
||||||
<a href="https://victorhck.gitlab.io/privacytools-es/" class="dropdown-item">Español</a>
|
<a href="https://victorhck.gitlab.io/privacytools-es/" class="dropdown-item">Español</a>
|
||||||
|
<a href="https://pl.privacytools.io/" class="dropdown-item">Polski</a>
|
||||||
<a href="https://www.privacidade.digital/" class="dropdown-item">Português</a>
|
<a href="https://www.privacidade.digital/" class="dropdown-item">Português</a>
|
||||||
<a href="https://privacytools.it-sec.rocks/" class="dropdown-item">Deutsch</a>
|
<a href="https://privacytools.it-sec.rocks/" class="dropdown-item">Deutsch</a>
|
||||||
<a href="https://privacytools-it.github.io/" class="dropdown-item">Italiano</a>
|
<a href="https://privacytools-it.github.io/" class="dropdown-item">Italiano</a>
|
||||||
|
@ -30,14 +30,8 @@
|
|||||||
var u="https://stats.privacytools.io/";
|
var u="https://stats.privacytools.io/";
|
||||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||||
_paq.push(['setSiteId', '1']);
|
_paq.push(['setSiteId', '1']);
|
||||||
var d = document,
|
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||||
g = d.createElement('script'),
|
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||||
s = d.getElementsByTagName('script')[0];
|
|
||||||
g.type = 'text/javascript';
|
|
||||||
g.async = true;
|
|
||||||
g.defer = true;
|
|
||||||
g.src = u + 'matomo.js';
|
|
||||||
s.parentNode.insertBefore(g, s);
|
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<noscript><img src="https://stats.privacytools.io/matomo.php?idsite=1&rec=1" style="border:0" alt=""/></noscript>
|
<noscript><img src="https://stats.privacytools.io/matomo.php?idsite=1&rec=1" style="border:0" alt=""/></noscript>
|
@ -132,7 +132,7 @@
|
|||||||
<td><span class="flag-icon flag-icon-no"></span> Norway</td>
|
<td><span class="flag-icon flag-icon-no"></span> Norway</td>
|
||||||
<td data-value="1000">1 GB</td>
|
<td data-value="1000">1 GB</td>
|
||||||
<td data-value="20">$ 19.95</td>
|
<td data-value="20">$ 19.95</td>
|
||||||
<td data-value="1"><span class="label label-primary">Yes</span></td>
|
<td data-value="1"><span class="label label-primary">Accepted</span></td>
|
||||||
<td data-value="0"><span class="label label-primary">No</span></td>
|
<td data-value="0"><span class="label label-primary">No</span></td>
|
||||||
<td data-value="1"><span class="label label-success">Yes</span></td>
|
<td data-value="1"><span class="label label-success">Yes</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -194,8 +194,7 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://www.confidantmail.org/">Confidant Mail</a> - An open-source non-SMTP cryptographic email system optimized for large file attachments. It is a secure and spam-resistant alternative to regular email and online file drop services. It
|
<li><a href="https://www.confidantmail.org/">Confidant Mail</a> - An open-source non-SMTP cryptographic email system optimized for large file attachments. It is a secure and spam-resistant alternative to regular email and online file drop services. It
|
||||||
uses <a href="https://theprivacyguide.org/tutorials/gpg.html">GNU Privacy Guard (GPG)</a> for content encryption and authentication, and TLS 1.2 with ephemeral keys for transport encryption.</li>
|
uses <a href="https://theprivacyguide.org/tutorials/gpg.html">GNU Privacy Guard (GPG)</a> for content encryption and authentication, and TLS 1.2 with ephemeral keys for transport encryption.</li>
|
||||||
</ul>
|
</ul> <h3>Become Your Own Email Provider with Mail-in-a-Box</h3>
|
||||||
<h3>Become Your Own Email Provider with Mail-in-a-Box</h3>
|
|
||||||
<a href="https://mailinabox.email/"><img src="/assets/img/provider/Mail-in-a-Box.png" width="200" height="70" class="img-fluid float-left" alt="Mail-in-a-Box" style="margin-right:10px;"></a>
|
<a href="https://mailinabox.email/"><img src="/assets/img/provider/Mail-in-a-Box.png" width="200" height="70" class="img-fluid float-left" alt="Mail-in-a-Box" style="margin-right:10px;"></a>
|
||||||
<p>Take it a step further and get control of your email with this easy-to-deploy mail server in a box. Mail-in-a-Box lets you become your own mail service provider in a few easy steps. It's sort of like making your own Gmail, but one you control from top
|
<p>Take it a step further and get control of your email with this easy-to-deploy mail server in a box. Mail-in-a-Box lets you become your own mail service provider in a few easy steps. It's sort of like making your own Gmail, but one you control from top
|
||||||
to bottom. Technically, Mail-in-a-Box turns a fresh cloud computer into a working mail server. But you don't need to be a technology expert to set it up. <strong>More: <a href="https://mailinabox.email/">https://mailinabox.email/</a></strong></p>
|
to bottom. Technically, Mail-in-a-Box turns a fresh cloud computer into a working mail server. But you don't need to be a technology expert to set it up. <strong>More: <a href="https://mailinabox.email/">https://mailinabox.email/</a></strong></p>
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
<strong>If you are currently using an Instant Messenger like LINE, Telegram, Viber, <a href="https://www.eff.org/deeplinks/2016/10/where-whatsapp-went-wrong-effs-four-biggest-security-concerns">WhatsApp</a>, or plain SMS messages you should pick an alternative here.</strong>
|
<strong>If you are currently using an Instant Messenger like LINE, Telegram, Viber, <a href="https://www.eff.org/deeplinks/2016/10/where-whatsapp-went-wrong-effs-four-biggest-security-concerns">WhatsApp</a>, or plain SMS messages you should pick an alternative here.</strong>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{% include cardv2.html
|
{% include cardv2.html
|
||||||
title="Signal"
|
title="Signal"
|
||||||
image="/assets/img/tools/Signal.png"
|
image="/assets/img/tools/Signal.png"
|
||||||
@ -19,6 +20,7 @@ windows=""
|
|||||||
linux=""
|
linux=""
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
|
||||||
{% include cardv2.html
|
{% include cardv2.html
|
||||||
title="Wire"
|
title="Wire"
|
||||||
image="/assets/img/tools/wire.png"
|
image="/assets/img/tools/wire.png"
|
||||||
|
@ -2,8 +2,7 @@
|
|||||||
|
|
||||||
<h3>Who is required to hand over the encryption keys to authorities?</h3>
|
<h3>Who is required to hand over the encryption keys to authorities?</h3>
|
||||||
|
|
||||||
<p>Mandatory <a href="https://en.wikipedia.org/wiki/Key_disclosure_law">key disclosure laws</a> require individuals to turn over encryption keys to law enforcement conducting a criminal investigation. How these laws are implemented (who may be legally compelled to assist) vary from nation to nation, but a warrant is generally required. Defenses against key disclosure laws include steganography and encrypting data in a way that provides plausible deniability.</p>
|
<p>Mandatory <a href="https://en.wikipedia.org/wiki/Key_disclosure_law">key disclosure laws</a> require individuals to turn over encryption keys to law enforcement conducting a criminal investigation. How these laws are implemented (who may be legally compelled to assist) vary from nation to nation, but a warrant is generally required. Defenses against key disclosure laws include steganography and encrypting data in a way that provides plausible deniability.</p> <p><a href="https://en.wikipedia.org/wiki/Steganography">Steganography</a> involves hiding sensitive information (which may be encrypted) inside of ordinary data (for example, encrypting an image file and then hiding it in an audio file). With plausible deniability, data is encrypted in a way that prevents an adversary from being able to prove that the information they are after exists (for example, one password may decrypt benign data and another password, used on the same file, could decrypt sensitive data).</p>
|
||||||
<p><a href="https://en.wikipedia.org/wiki/Steganography">Steganography</a> involves hiding sensitive information (which may be encrypted) inside of ordinary data (for example, encrypting an image file and then hiding it in an audio file). With plausible deniability, data is encrypted in a way that prevents an adversary from being able to prove that the information they are after exists (for example, one password may decrypt benign data and another password, used on the same file, could decrypt sensitive data).</p>
|
|
||||||
|
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
image="/assets/img/tools/Joplin.png"
|
image="/assets/img/tools/Joplin.png"
|
||||||
url="https://joplinapp.org/"
|
url="https://joplinapp.org/"
|
||||||
footer="OS: Windows, macOS, Linux, iOS, Android, Firefox/Chrome (Web Clipper)."
|
footer="OS: Windows, macOS, Linux, iOS, Android, Firefox/Chrome (Web Clipper)."
|
||||||
description="Joplin is a free, open source, fully featured note taking and to-do application, which can handle a large number of markdown notes organized into notebooks and tags. It offers E2EE encryption and can sync through Nextcloud, Dropbox and more. It also offers easy import from Evernote and plain text notes."
|
description="Joplin is a free, open source, fully featured note taking and to-do application, which can handle a large number of markdown notes organized into notebooks and tags. It offers E2E encryption and can sync through Nextcloud, Dropbox and more. It also offers easy import from Evernote and plain text notes."
|
||||||
%}
|
%}
|
||||||
|
|
||||||
{% include card.html color="primary"
|
{% include card.html color="primary"
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
description='KeePass is a free open source password manager, which helps you to manage your passwords in a secure way. All passwords in one database, which is locked with one
|
description='KeePass is a free open source password manager, which helps you to manage your passwords in a secure way. All passwords in one database, which is locked with one
|
||||||
master key or a key file. The databases are encrypted using the best and most secure encryption algorithms currently known: AES and Twofish. See also: <a href="https://keepassxc.org/">KeePassXC</a> with official native cross-platform support for Windows/macOS/Linux.'
|
master key or a key file. The databases are encrypted using the best and most secure encryption algorithms currently known: AES and Twofish. See also: <a href="https://keepassxc.org/">KeePassXC</a> with official native cross-platform support for Windows/macOS/Linux.'
|
||||||
%}
|
%}
|
||||||
|
|
||||||
{% include card.html color="warning"
|
{% include card.html color="warning"
|
||||||
title="LessPass - Browser"
|
title="LessPass - Browser"
|
||||||
image="/assets/img/tools/LessPass.png"
|
image="/assets/img/tools/LessPass.png"
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
{% include head.html %}
|
{% include head.html %}
|
||||||
|
|
||||||
<body data-spy="scroll" data-target="#navbar">
|
<body data-spy="scroll" data-target="#navbar">
|
||||||
<header>
|
<header>
|
||||||
{% include nav.html %}
|
{% include nav.html %}
|
||||||
@ -10,5 +9,4 @@
|
|||||||
{{ content }}
|
{{ content }}
|
||||||
{% include scripts.html %}
|
{% include scripts.html %}
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
@ -1,13 +0,0 @@
|
|||||||
const glob = require('glob');
|
|
||||||
const pattern = '**/*.html';
|
|
||||||
const options = {
|
|
||||||
'ignore': [
|
|
||||||
'_site/**/*.html',
|
|
||||||
'node_modules/**/*.html'
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
glob(pattern, options, (error, files) => {
|
|
||||||
if (error) throw error;
|
|
||||||
process.stdout.write(files.join('\n') + '\n');
|
|
||||||
});
|
|
@ -1,22 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Runs html-beautify's format check and errors with 0/1 if it needs to be changed.
|
|
||||||
APPDIR=$(readlink -f $(dirname $(dirname $0)))
|
|
||||||
TMPDIR=$(mktemp -d)
|
|
||||||
cd $APPDIR
|
|
||||||
|
|
||||||
for line in $*; do
|
|
||||||
filepath=$(readlink -f $line)
|
|
||||||
file=${filepath/$APPDIR\//}
|
|
||||||
mkdir -p $TMPDIR/$(dirname $file)
|
|
||||||
cp $APPDIR/$file $TMPDIR/$file
|
|
||||||
done
|
|
||||||
|
|
||||||
message=$(find $TMPDIR -type f | xargs node_modules/.bin/html-beautify -r | grep -v unchanged || true)
|
|
||||||
if [[ $message ]]; then
|
|
||||||
echo "$message" | sed "s#$TMPDIR##g" | sed "s#\.\.\/##g"
|
|
||||||
rm -rf $TMPDIR
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -rf $TMPDIR
|
|
@ -1,5 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -e # halt script on error
|
set -e # halt script on error
|
||||||
|
|
||||||
bundle exec jekyll build
|
bundle exec jekyll build
|
1614
package-lock.json
generated
1614
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
28
package.json
28
package.json
@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "privacytools.io",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"devDependencies": {
|
|
||||||
"glob": "^7.1.4",
|
|
||||||
"husky": "^3.0.2",
|
|
||||||
"js-beautify": "^1.10.1",
|
|
||||||
"lint-staged": "^9.2.1"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "bundle exec jekyll build",
|
|
||||||
"serve": "bundle exec jekyll serve",
|
|
||||||
"format:html": "node bin/get-html-ls.js | xargs node_modules/.bin/html-beautify -r",
|
|
||||||
"format-test:html": "node bin/get-html-ls.js | xargs bash ./bin/html-beautify-check.sh"
|
|
||||||
},
|
|
||||||
"husky": {
|
|
||||||
"hooks": {
|
|
||||||
"pre-commit": "node_modules/.bin/lint-staged"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/privacytoolsIO/privacytools.io.git"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/privacytoolsIO/privacytools.io/issues"
|
|
||||||
}
|
|
||||||
}
|
|
@ -58,7 +58,6 @@ description: "Find a no-logging VPN operator who isn't out to sell or read your
|
|||||||
<li><a href="https://write.privacytools.io/my-thoughts-on-security/slicing-onions-part-1-myth-busting-tor">Slicing Onions: Part 1 – Myth-busting Tor</a> by blacklight447</li>
|
<li><a href="https://write.privacytools.io/my-thoughts-on-security/slicing-onions-part-1-myth-busting-tor">Slicing Onions: Part 1 – Myth-busting Tor</a> by blacklight447</li>
|
||||||
<li><a href="https://write.privacytools.io/my-thoughts-on-security/slicing-onions-part-2-onion-recipes-vpn-not-required">Slicing Onions: Part 2 – Onion recipes; VPN not required</a> by blacklight447</li>
|
<li><a href="https://write.privacytools.io/my-thoughts-on-security/slicing-onions-part-2-onion-recipes-vpn-not-required">Slicing Onions: Part 2 – Onion recipes; VPN not required</a> by blacklight447</li>
|
||||||
</ol>
|
</ol>
|
||||||
</p>
|
<p>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
@ -37,7 +37,10 @@ description: "This Privacy Policy explains what information privacytoolsIO and i
|
|||||||
<p>privacytoolsIO uses a self-hosted Matomo install to track visitor data. You can opt out entirely using the form below. This form may not function correctly with
|
<p>privacytoolsIO uses a self-hosted Matomo install to track visitor data. You can opt out entirely using the form below. This form may not function correctly with
|
||||||
an ad blocker enabled.</p>
|
an ad blocker enabled.</p>
|
||||||
|
|
||||||
<iframe style="border: 1; height: 120px; width: 100%;" src="https://stats.privacytools.io/index.php?module=CoreAdminHome&action=optOut&language=en&backgroundColor=&fontColor=212529&fontSize=1rem&fontFamily=-apple-system%2CBlinkMacSystemFont%2C%22Segoe%20UI%22%2CRoboto%2C%22Helvetica%20Neue%22%2CArial%2Csans-serif%2C%22Apple%20Color%20Emoji%22%2C%22Segoe%20UI%20Emoji%22%2C%22Segoe%20UI%20Symbol%22%2C%22Noto%20Color%20Emoji%22"></iframe>
|
<iframe
|
||||||
|
style="border: 1; height: 120px; width: 100%;"
|
||||||
|
src="https://stats.privacytools.io/index.php?module=CoreAdminHome&action=optOut&language=en&backgroundColor=&fontColor=212529&fontSize=1rem&fontFamily=-apple-system%2CBlinkMacSystemFont%2C%22Segoe%20UI%22%2CRoboto%2C%22Helvetica%20Neue%22%2CArial%2Csans-serif%2C%22Apple%20Color%20Emoji%22%2C%22Segoe%20UI%20Emoji%22%2C%22Segoe%20UI%20Symbol%22%2C%22Noto%20Color%20Emoji%22"
|
||||||
|
></iframe>
|
||||||
|
|
||||||
<p>privacytoolsIO respects your Do Not Track setting in your browser. Users with Do Not Track enabled will not be tracked by any of our platforms.
|
<p>privacytoolsIO respects your Do Not Track setting in your browser. Users with Do Not Track enabled will not be tracked by any of our platforms.
|
||||||
You are also free to block stats.privacytools.io using whatever method you prefer with no detrimental effects on your experience using our services.</p>
|
You are also free to block stats.privacytools.io using whatever method you prefer with no detrimental effects on your experience using our services.</p>
|
||||||
|
Reference in New Issue
Block a user