ROCm documentation toolchain#
2024-10-23
5 min read time
The ROCm documentation relies on several open source toolchains and sites.
rocm-docs-core#
rocm-docs-core is an AMD-maintained project that applies customizations for the ROCm documentation. This project is the tool most ROCm repositories use as part of their documentation build pipeline. It is 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 in-code comments. It is used for API documentation.
Breathe#
Breathe is a Sphinx plugin for integrating Doxygen content.
MyST#
Markedly Structured Text (MyST) is an extended flavor of Markdown (CommonMark) influenced by reStructuredText (rst) and Sphinx. It is integrated into the ROCm documentation with the myst-parser
Sphinx extension.
See the MyST syntax cheat sheet at the Jupyter Book site.
Read the Docs#
Read the Docs is the service that builds and hosts the HTML version of the ROCm documentation.