Organization wide repo for docs, assets, and tools any other static information.
libhal uses mkdocs-material for our static documentation and sphinx for our API documentation
If you'd like to contribute to the libhal website and documentation you can do
so by quickly setting up the enviornement by running the following commands.
Please note that the build script is designed for a bash environment and is
intended to be used on unix-based operating systems. The documentation is fully
compatible with Windows, however you will need to write your own .bat install
script or run the commands individually (as well as switch from bash's commands
to powershell or command prompt's variants of them).
Please first install python 3.10 or later. Then run the following to install the required packages for running the documentation.
pip install -r requirements.txtNow to actually build the documentation.
./build.shNote
You may need to run chmod +x build.sh to run it.
Finally to serve the documentation:
mkdocs serveThe page should be available on this address http://127.0.0.1:8000.
Now whenever you update the markdown in the mkdocs directory, the page will
auto-reload with your changes, however if you are making changes to the API documentation, you must rebuild the documentation.
If you changed just rst or md files in the sphinx directory you can simply run the command inside the sphinx directory.
sphinx-build -b html -Dbreathe_projects.libhal=../doxygen_output/xml . outputIf things changed in the actual code for the documentation, you will need to build the doxygen files as well. Run the following starting in the root of this repo.
doxygen Doxyfile.in
cd sphinx
sphinx-build -b html -Dbreathe_projects.libhal=../doxygen_output/xml . outputCheckout mkdocs-material for more details on the features that can be used for the static side of this site.
Checkout sphinx for how to use sphinx
at a basic level, breathe on how
to use doxygen directives on how to organize your code inside of sphinx rst
or md files, and finally the
theme for theme
specific uses for the API documentation.
See CONTRIBUTING.md for details.
Apache 2.0; see LICENSE for details.