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'