ROCm documentation toolchain#

Applies to Linux and Windows

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.