Writing DocumentationΒΆ

This documentation is built using Sphinx using the Furo theme. The markup languages supported are reStructuredText(rst) and MyST Markdown (through myst-parser extension). We currently recommend using MyST as it is a lot similar to traditional markdown.

The docs folder is in the root of the crm_core repository. To build these sphinx docs we HIGHLY recommend a separate virtual environment to avoid dependency conflicts with ROS2. You can install the required python packages using pip install -r docs/requirements.txt.

  1. Rebuild Sphinx documentation on changes, with hot reloading in the browser

    sphinx-autobuild docs/ docs/build/html
    
  2. To add new documentation, you can either add markdown files to existing directories or create new ones. Each directory should have an index.md file that serves as its main page. The root docs/index.md contains the master table of contents (toctree) that organizes all documentation. The toctree directive tells Sphinx how to organize the hierarchical structure of the docs. Use our current docs for reference.

  3. Use this link for markup reference.

  4. On merging to main the docs will be deployed to this page hosted by Cloudflare within a few seconds.