2c623ce775
Signed-off-by: Daniel Gray <dngray@privacyguides.org> Co-Authored-By: Jonah Aragon <jonah@triplebit.net> |
||
---|---|---|
.devcontainer | ||
.github | ||
.vscode | ||
config | ||
docs | ||
includes | ||
modules | ||
theme | ||
.allowed_signers | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.markdownlint.yml | ||
.python-version | ||
CITATION.cff | ||
crowdin.yml | ||
Dockerfile | ||
LICENSE | ||
LICENSE-CODE | ||
Pipfile | ||
Pipfile.lock | ||
README.md |
About
Privacy Guides is a socially motivated website that provides information for protecting your data security and privacy. Our mission is to inform the public about the value of digital privacy, and global government initiatives which aim to monitor your online activity. We are a non-profit collective operated entirely by volunteer team members and contributors. Our website is free of advertisements and not affiliated with any of the listed providers.
The current list of team members can be found here. Additionally, many people have made contributions to the project, and you can too!
Featured on: Tweakers, The New York Times, and Wired
Contributing
- 💬 Start a discussion or suggest an idea
- 💖 Sponsor the project
- 🈴 Help translate the site [Matrix chat]
- 📝 Edit the site, everything's accessible in this repo
- Browse our open issues to see what needs to be updated
- View the list of approved topics waiting for a PR
- Read some writing tips in our style guide
All contributors to the site are listed here. If you make a substantial (i.e. copyright eligible) contribution to the project and would like to be formally credited, you are welcome to include your information in the appropriate authors
section in CITATION.cff
as well, just submit a PR or ask @jonaharagon to make the change.
Mirrors
Hidden service (Tor/onion): xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion
License
Copyright © 2019 - 2024 Privacy Guides contributors.
Privacy Guides content is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International Public License, and the underlying source code used to format and display that content on www.privacyguides.org is licensed under the MIT License.
Generally speaking, content can be found in the /docs
, /theme/assets/img
and /includes
folders; and source code and configuration files can be found in the /config
and /theme
folders, and in the root of this repository. Any source code snippets contained within documentation files are MIT Licensed. Please contact us if you require clarification on any of these terms.
These licenses do not apply to any work where another license is otherwise noted.
Logos in the /theme/assets/img
folder may not be original works of Privacy Guides and therefore cannot be (re)licensed by us. We believe that these logos obtained from third-party providers are either in the public domain or fair use. In a nutshell, legal fair use doctrine allows the use of copyrighted images in order to identify the subject for purposes of public comment. However, these logos and other images may still be subject to trademark laws in one or more jurisdictions. Before using this content, please ensure that it is used to identify the entity or organization that owns the trademark and that you have the right to use it under the laws which apply in the circumstances of your intended use. When copying content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.
You may comply with our license terms in any reasonable manner, but not in any way that suggests Privacy Guides endorses you or your use. You may not use the Privacy Guides branding in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.
When you contribute to this repository you are doing so under the above licenses, and you are granting Privacy Guides a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute your contribution as part of our project.
Developing
Committing to this repository requires signing your commits (git config commit.gpgsign true
) unless you are making edits via the GitHub.com text editor interface. As of August 2022 the preferred signing method is SSH commit signatures, but GPG signing is also acceptable. You should add your signing key to your GitHub profile.
With mkdocs-material
- Install required packages:
pip install mkdocs-material
- Run a local preview of the English site:
mkdocs serve --config-file config/mkdocs.en.yml
With mkdocs-material-insiders
This website uses mkdocs-material-insiders
which offers additional functionality over the open-source mkdocs-material
project. For obvious reasons we cannot distribute access to the insiders repository. If you are submitting a PR, please ensure the automatic preview generated for your PR looks correct, as that site will be built with the production insiders build.
Team members should clone the repository with mkdocs-material-insiders
directly. This method is identical to production:
- Clone this repository and submodules:
git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org.git
- Enable SSH commit verification with our local
.allowed_signers
file:git config gpg.ssh.allowedSignersFile .allowed_signers
- Install Python 3.12.
- Install pipenv:
pip install pipenv
- Install dependencies:
pipenv install --dev
(install Pillow and CairoSVG as well to generate social cards) - Serve the site locally:
MKDOCS_INHERIT=mkdocs-production.yml pipenv run mkdocs serve --config-file config/mkdocs.en.yml
(setCARDS=true
to generate social cards)- The site will be available at
http://localhost:8000
- You can build the site locally with
MKDOCS_INHERIT=mkdocs-production.yml pipenv run mkdocs build --config-file config/mkdocs.en.yml
- This version of the site should be identical to the live, production version
- The site will be available at
If you commit to main
with commits signed with your SSH key, you should add your SSH key to .allowed_signers
in this repo.
Local Translated Site Builds
- Install the Crowdin CLI Tool (
brew install crowdin
) - Set the
CROWDIN_PERSONAL_TOKEN
environment variable to your Crowdin personal access token - Run
crowdin download
in the root of this repo - Import the language's environment variables:
set -a; source includes/strings.fr.env; set +a
(replacing fr with the appropriate language) - Serve the site locally:
pipenv run mkdocs serve --config-file config/mkdocs.fr.yml
(replacing fr with the appropriate language in /config)
Translations downloaded from Crowdin are .gitignore'd, so any local changes to the translated site cannot be committed to this repo. Actual modifications need to be made on Crowdin. As an alternative to steps 1-3, you can copy the folders from privacyguides/i18n to the root of this repo to obtain the translated files.
Releasing
It is required to create a GitHub release to publish the current site to privacyguides.org. The current main
branch can be previewed at https://main.staging.privacyguides.dev prior to release.
- Create a new tag:
git tag -s YYYY.MM.DD -m 'Some message'
- Tag numbering:
YYYY.MM.DD
- if two+ releases are published on the same day, append short commit sha to next release, e.g.YYYY.MM.DD-6aa14e8
- Enable GPG tag signing by default (
git config tag.gpgSign true
) to avoid missing signatures
- Tag numbering:
- Push the tag to GitHub:
git push --tags
- A GitHub Release will be automatically created and deployed to the live site.
- You may wish to manually check or edit the release changelog/title after it is published for accuracy.