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'