Documentationยถ
Documentation is a crucial part of every project, thus the following guidelines apply to documentations:
Ensure youโve documented the project
High-level documentations are often preferred over low-level ยซtechie docsยป
Think about your target audience / stakeholder before you start documenting
Check out our other documentations for examples
Leverage Emojiโs (and Emoji Finder) in configuration files and alike
Languageยถ
As mentioned in Communication, our documentation language is English.
Markdownยถ
For most projects, the documentation is written in Markdown files.
For GitLab projects, the entrypoint for the documentation is usually the README.md, stored in the project Git root.
Hint
GitLab enhanced Markdown with their GitLab Flavored Markdown version.
Sphinxยถ
Most likely, more complex documentation will be based on Sphinx, and reside in the docs/ directory.
To build the docs locally, have a look at the make Documentation targets. To build the docs during the CI pipeline, have a look at the docs GitLab CI file.
Get started with Sphinxยถ
Here are some good resources to get started with Sphinx:
Hint
Feel free to have a look at the source code of this documentation by either browsing the GitLab project, or by using the Edit this page link in the header.
Sphinx themeยถ
Weโre using our own Sphinx theme, which matches the ๐จ Corporate design.
Intersphinxยถ
One big advantage of Sphinx is an extension called Intersphinx, which can generate automatic links to the documentation of objects in other projects.
Hint
To see all links of an Intersphinx mapping file, you can use the following command:
python3 -msphinx.ext.intersphinx {URL to .inv file}
PlantUML in Sphinxยถ
When youโre looking to include diagrams in your docs, have a look at the PlantUML chapter. Thereโs a Sphinx PlantUML Plugin, which can be installed & configured to leverage the plantuml-client:
extensions = [
# โฆ
'sphinxcontrib.plantuml',
# โฆ
]
plantuml = 'plantuml-client'