Documentation Guide
The following section guides you on how to contribute to the documentation page:
Documentation Tools
Sphinx
This documentation is automatically generated using Sphinx
, using the ReadTheDocs HTML theme. The documentation configuration can be found in the conf.py, where you can further customize the HTML output or add useful extensions.
If you have implemented your changes and want to view them locally, run the make HTML
command in the /docs directory. The HTML files are built in the _build/html
directory. You can open up the HTML files in your local browser and view your changes!
reStructuredText
We use reStructuredText as the plaintext markup language because of its compatibility with Sphinx.
You can learn more about the RST syntax here: https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html.
Make sure to use the various functionalities provided by reStructuredText and Sphinx, as they greatly enhance the user-friendliness and clarity of the overall docs page. Highlight important keywords and add visualizations where possible.
GitLab Pages
The documentation is currently deployed on GitLab Pages, making it reachable via a URL.
Grammar and Spelling Tools
Please make use of online grammar and spelling tools, such as https://languagetool.org. These tools help ensure correctness throughout the documentation and mitigate any spelling errors or typos.
Creating Diagrams
The following tools can help you efficiently design and generate a wide range of diagrams. We encourage you to use visualizations.
Available Tools
To visualize processes as in the Test Execution Workflow section. You can use the tools plantuml or sequencediagram.org . The sequence diagram was created by logging function calls within the
gemtest
framework and writing them in the plantuml syntax. Save the file as a .puml file. You can then run plantuml <your-file-name>.puml to automatically create the diagram. The diagram was further edited with sequencediagram.org.Another free online tool is draw.io, which one can use to create various charts and diagrams. The tool can be used here: https://app.diagrams.net/.
Including the Diagrams
The diagrams you create should be located in the resource folders of the subsections you are working on (e.g., docs/contributing/resources). You can display an image in reStructuredText using:
.. image:: <path-to-your-image>.
Note
When including a new diagram or chart in the resource folder, please make sure to also include an editable file, such as a .xml
. This way, future contributors can extend your charts if necessary.
Automated Build and Deployment
We have set up an automatic build and deployment process using the GitLab CI pipeline. Any changes made to the documentation and pushed to certain branches are automatically built and deployed to GitLab Pages. The changes made will be directly visible.
By following these guidelines, you can help maintain high-quality documentation that benefits all users and developers involved in the project.