This is an old revision of the document!
Table of Contents
API Documentation Generation
It is very important to always document the projects. There are many tools that make this boring task easier, and that help you automate most of the worst parts. Here we present a little guide on how to do that with 3 documentation tools. Doxygen (for C/C++), Sphinx (for Python) and Cargo (for Rust). In the last section we discuss how to automate the process of generating and publishing this documentation using GitLab CI and Jenkins.
Doxygen
In progress …
Sphinx
In progress …
Cargo
In progress …
GitLab Pages
There are 3 examples that you can use as a guide.
C/C++
Repository https://gitlab.com/arcoslab/libopencm3
Documentation https://arcoslab.gitlab.io/libopencm3/html/
Python
arcos-python-cookiecutter is a template manager for creating Python projects. We configured GitLab to generate and publish the documentation whenever code is published to master. Here you can see an example:
Repository: https://gitlab.com/arcoslab/arcos-python-cookiecutter
Documentation: https://arcoslab.gitlab.io/arcos-python-cookiecutter
Rust
ARCOS-KDL is our own Kinematics and Dynamics Library. We configured GitLab to generate and publish the documentation whenever code is pushed to master. Here you can see an example how to do that with Rust:
Repository: https://gitlab.com/arcoslab/arcos-kdl
Documentation: https://arcoslab.gitlab.io/arcos-kdl/arcos_kdl/index.html