This is a tool to generate and publish online documentation for Arduino libraries. It uses Sphinx, Doxygen and Breathe to build documentation from the source code of your Arduino library and publish it online on ReadTheDocs.
- Source code: https://github.com/circuitar/ArduinoDocs
- Documentation: http://arduinodocs.readthedocs.org
To add online documentation to your library on ReadTheDocs, you just need to follow these steps:
- Install Python
- Add documentation to your Arduino library using the Doxygen standard
- Add a README.rst and make sure to add a
----transition somewhere. The README text will be included in the documentation up to that point.
arduinodocs.pyto the root directory of your library and run it
- Push your library code to GitHub
- Publish it to ReadTheDocs
- Click “Import a Project”
- Connect to your GitHub account if you haven’t done it yet
- Click “Import from GitHub”
- Select you project and click “Create”
- Enter the project page in ReadTheDocs, click on
Advanced Settingsand use
extras/docs/requirements.txtas the requirements file
- Wait for your online documentation to build automatically. Enjoy!
Every time you push changes to your Github repository, the documentation will be automatically rebuilt by ReadTheDocs.
This repository itself has been set up as an Arduino library called ArduinoDocs (see
ArduinoDocs.cpp). You can look at those files to see how to document your library code, and see how the auto-generated documentation looks in http://arduinodocs.readthedocs.org
If you want to build the documentation locally, you need to:
- Install Sphinx:
pip install Sphinx
- Install Breathe:
pip install breathe
- Download and install Doxygen
- Follow the steps in the Online Documentation section up to the point where
doxygento extract the documentation from your source code
sphinx-build -b html . _build/htmlto generate the HTML documentation
- Check documentation generated in
Brief description of the ArduinoDocs class.
Detailed description of the ArduinoDocs class.
Detailed constructor description.
This documentation was built using ArduinoDocs.