ROS 2 Documentation
This repository contains the sources for the ROS 2 documentation that is hosted at https://docs.ros.org/en.
The sources from this repository are built and uploaded to the site nightly by a Jenkins job.
Contributing to the documentation
Contributions to this site are most welcome.
Please see the Contributing to ROS 2 Documentation page to learn more.
Contributing to ROS 2
To contribute to the ROS 2 source code project please refer to the ROS 2 contributing guidelines.
Prerequisites
To build this you need to install
- make
- graphviz
With venv
# activate the venv
python3 -m venv ros2doc
# activate venv
source ros2doc/bin/activate
# install required packages
pip install -r requirements.txt -c constraints.txt
# deactivate the venv
(ros2doc) deactivate
Pinned versions
For development we currently use Noble (Ubuntu 24.04) as our build platform.
And all python versions are pinned in the constraints file to make sure that things are reproducible.
To upgrade the system validate that things are working and then use pip freeze > constraints.txt to lock in the versions to upgrade.
Building HTML
Local development test
For local testing of the current tree use:
make html
sensible-browser build/html/index.html
Spelling Check
To check the spelling, use:
make spellcheck
Note
If that detects specific words that need to be ignored, add it to codespell_whitelist.
To include any custom corrections that are to be applied, add it to codespell_dictionary.
Deployment test
To test building the multisite version deployed to the website use:
make multiversion
sensible-browser build/html/rolling/index.html
NB: This will ignore local workspace changes and build from the branches.