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.
This project is not an official Google project. It is not supported by Google and Google specifically disclaims all warranties as to its quality, merchantability, or fitness for a particular purpose.