Uses sphinx to build the documentation contained in this repository. While the goal is to migrate all of gazebosim.org to a static site, for now, we'll have the landing page, the "features" and "showcase" pages be served by https://github.com/gazebo-web/gazebosim-web-frontend as is currently and the /docs endpoint be directed to the output of sphinx. This is similar to how the /api endpoint is directed to the output of doxygen.
Since sphinx has its own of organizing files and structuring the table of contents, a custom script (build_multiversion.py) is needed to take our existing metadata files (index.yaml) and make the necessary changes to the markdown files. For this, it is necessary to copy the files to a temporary directory. The script also handles differences in URL endpoints and markdown files, which must match in Sphinx. Lastly, for version switching and searching to work properly, each version of Gazebo is built independently by the build_multiversion.py script.
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers
Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.
🎉 New feature
Partially resolves #412
Summary
Uses sphinx to build the documentation contained in this repository. While the goal is to migrate all of gazebosim.org to a static site, for now, we'll have the landing page, the "features" and "showcase" pages be served by https://github.com/gazebo-web/gazebosim-web-frontend as is currently and the
/docs
endpoint be directed to the output of sphinx. This is similar to how the/api
endpoint is directed to the output of doxygen.Since sphinx has its own of organizing files and structuring the table of contents, a custom script (
build_multiversion.py
) is needed to take our existing metadata files (index.yaml
) and make the necessary changes to the markdown files. For this, it is necessary to copy the files to a temporary directory. The script also handles differences in URL endpoints and markdown files, which must match in Sphinx. Lastly, for version switching and searching to work properly, each version of Gazebo is built independently by thebuild_multiversion.py
script.Inspired by https://github.com/ros2/ros2_documentation
Needs https://github.com/pydata/pydata-sphinx-theme/pull/1795 for the version switcher to work properly.
Screenshots
Light theme:
Dark theme:
Test it
Follow updated README to build the docs
Preview
cc @nuclearsandwich
TODO:
latest
andall
links/libs
via sphinx.ionic
so it shows up as (dev)Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.