ROCm documentation toolchain#
2024-02-20
4 min read time
Our documentation relies on several open source toolchains and sites.
rocm-docs-core
#
rocm-docs-core is an AMD-maintained project that applies customization for our documentation. This project is the tool most ROCm repositories use as part of the documentation build. It is also available as a pip package on PyPI.
See the user and developer guides for rocm-docs-core at rocm-docs-core documentation.
Sphinx#
Sphinx is a documentation generator originally used for Python. It is now widely used in the open source community.
Sphinx External ToC#
Sphinx External ToC is a Sphinx
extension used for ROCm documentation navigation. This tool generates a navigation menu on the left
based on a YAML file (_toc.yml.in
) that contains the table of contents.
Sphinx-book-theme#
Sphinx-book-theme is a Sphinx theme that defines the base appearance for ROCm documentation. ROCm documentation applies some customization, such as a custom header and footer on top of the Sphinx Book Theme.
Sphinx Design#
Sphinx design is a Sphinx extension that adds design functionality. ROCm documentation uses Sphinx Design for grids, cards, and synchronized tabs.
Doxygen#
Doxygen is a documentation generator that extracts information from inline code. ROCm projects typically use Doxygen for public API documentation (unless the upstream project uses a different tool).
Breathe#
Breathe is a Sphinx plugin to integrate Doxygen content.
MyST#
Markedly Structured Text (MyST) is an extended flavor of
Markdown (CommonMark) influenced by reStructuredText (RST) and
Sphinx. It’s integrated into ROCm documentation by the Sphinx extension
myst-parser
.
A MyST syntax cheat sheet is available on the Jupyter reference site.
Read the Docs#
Read the Docs is the service that builds and hosts the HTML documentation generated using Sphinx to our end users.