[[!meta title="Improve Tails documentation"]]
<p>Tails documentation would greatly benefit from your help.</p>
Good documentation is difficult to keep up-to-date. If you find a typo
or an error in the documentation please let us know — ideally, by
submitting a patch with your correction.
The documentation on the website is not freely editable. The way we
document things has serious security implications. People should be able
to trust the Tails website as much as they trust Tails itself.
Furthermore, every change in the documentation possibly breaks the
translations that were made of the previous version.
But there are still many ways you can start contributing:
- We maintain a list of [documentation
You can start writing a draft in the corresponding ticket and then
[[ask us for review|contribute/merge_policy]].
- Small fixes and enhancements to the current documentation are
greatly welcome. This can be done by sending Git patches to
[[firstname.lastname@example.org|about/contact#tails-dev]] or by publishing a
[[Git]] branch (for example to a fork on
[GitLab](https://gitlab.com/Tails/tails)). In general,
documentation changes should be based on the `master` branch.
Documentation writers coordinate themselves on [[email@example.com
mailing list|about/contact#tails-dev]], our development mailing list.
Documentation writers should also read our [[documentation
New documentation should be wrapped to 80 characters; however, please
do not submit patches that merely re-wrap existing text, as this makes
it harder to read the git history.
We recommend you to [[build an offline version of the
documentation|contribute/build/website]] to test your contributions
before sharing them with us.
## Find documentation pages impacted by changes in Tails
The `bin/doc-impacted-by` tool takes two "states" (see its `--help`)
of Tails, and checks the changes between these states against a
database of relationship between documentation pages and the source
files and packages impacting them.
The relationships between documentation and source files are stored in
`doc-source-relationships.yml` in the Git root. It's YAML, and the
format is something like this:
- The `pages` field is mandatory (after all, we want to find the
documentation *pages* that might need to be updated). The remaining
fields list source files and packages impacting these pages.
- All fields are interchangeable between the single and plural forms
(e.g. `page` is the same as `pages`). Similarly, the values can be
either strings, or a lists of strings.
- All string values can use globs and pathspec magic features like
To use this tools, please first install the dependencies:
apt install ruby ruby-deep-merge ruby-git ruby-test-unit
## Image compression
- Images on our website are compressed and cleaned using the
[[compress-image.sh]] script. To run this script you need the
`optipng`, `advancecomp`, and `mat` packages.
## QR codes
- To encode and decode QR codes, you can use the [[qrcode-encode.sh]]
and [[qrcode-decode.sh]] scripts. To run these scripts
you need to install the `qrencode` and `zbar-tools` packages.
For example (run from Tails' source root):
Creates a QR code in tails_boum_org.png. And:
We want Tails [[end-user documentation|doc]] to be translated in
as many languages as possible. See the [[guidelines for
translators|contribute/how/translate]] for details.
# Related pages
- [[Documentation guidelines|guidelines]]
- [[Checklist for release notes|release_notes]]
# Talk to us
You can subscribe to [[firstname.lastname@example.org|about/contact#tails-dev]],
our development mailing list.