privacyguides.org/README.md

7.0 KiB

Privacy Guides Privacy Guides

Your central privacy and security resource to protect yourself online.

About

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!

Contributing

Mirrors

GitHub Gitea GitLab Codeberg

Developing

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. You can install the website locally with the open-source version of mkdocs-material:

  1. Clone this repository: git clone https://github.com/privacyguides/privacyguides.org.git
  2. Install Python 3.6+
  3. Install dependencies: pip install mkdocs mkdocs-material mkdocs-static-i18n mkdocs-git-revision-date-localized-plugin typing-extensions
  4. Serve the site locally: mkdocs serve
    • The site will be available at http://localhost:8000
    • You can build the site locally with mkdocs build
    • Your local version of the site may be missing functionality, which is expected. 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:

  1. Clone this repository and submodules: git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org.git
  2. Install Python 3.6+
  3. Install pipenv: pip install pipenv
  4. Install dependencies: pipenv install --dev
  5. Serve the site locally: pipenv run mkdocs serve
    • The site will be available at http://localhost:8000
    • You can build the site locally with pipenv run mkdocs build
    • This version of the site should be identical to the live, production version

Releasing

  1. Create a new tag: git tag -s v2.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 2 until a massive redesign (v1 -> v2 was the Jekyll to MkDocs transition).
  2. Push the tag to GitHub: git push --tags
  3. Create a new release selecting the new tag
    • Title the release the same as the tag version number without the v, i.e. 2.X.X
    • GitHub should let you auto-generate release notes based on PR titles
      • Mark more significant changes in bold, see 2.3.0 for example
  4. Publish release, it will be deployed to the live site automatically
    • When publishing more significant releases (generally any with a MINOR version increment) check the "Create a discussion for this release" box to post an announcement