Privacy Guides is a socially motivated website that provides information for protecting your data security and privacy. We are a non-profit collective operated entirely by volunteer team members and contributors.
Our current list of team members can be found here. Additionally, many people have made contributions to the project, and you can too!
- ๐ฌ 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 some contribution tips on our contributor's wiki
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.
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. Running this website locally without access to insiders is unsupported. 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.8, this is the only version supported by Netlify.
- Install pipenv:
pip install pipenv
- Install dependencies:
pipenv install --dev
(install Pillow and CairoSVG as well to generate social cards) - Serve the site locally:
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
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.
- Create a new tag:
git tag -s v3.X.X -m 'Some message'
- View existing tags
- Tag numbering: Increment the MINOR (2nd) number when making significant changes (adding/deleting pages, etc.), increment the PATCH (3rd) number when making minor changes (typos, bug fixes). Probably leave the MAJOR number at 3 until a massive revamp (v1 -> v2 was the Jekyll to MkDocs transition, v2 -> v3 was the introduction of translations).
- Consider enabling GPG tag signing by default (
git config tag.gpgSign true
) to avoid missing signatures
- 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.