About this documentation#
This documentation is built using Sphinx with myst-parser.
The theme used is sphinx-book-theme.
The project itself was created and is still maintained with python-package-copier-template.
How to contribute#
The documentation is written in MyST Markdown.
The MyST extensions colon_fences, linkify, and deflist are enabled, and you can also use the extra content blocks from our theme.
In addition, you can use all the directives available in Sphinx, as explained in this guide.
We also ship richterm to capture CLI output as SVG in the docs.
Including diagrams#
We support Mermaid diagrams, powered by sphinxcontrib-mermaid:
graph LR;
Hi-->there;
with this syntax:
```{mermaid}
:align: center
graph LR;
Hi-->there;
```
Linking to the repo#
There is a shortcut for links to the GitHub repository by prefixing gh: plus the
relative path. For example:
[ci workflow](gh:.github/workflows/ci.yml)
Produces this link: ci workflow
Check myst_url_schemes at docs/conf.py for details on how it is implemented.
How to build the documentation#
From the project root run:
make docs
This runs sphinx-build using uv run with the docs requirements.
It should exit without errors or warnings.
If you want to check everything looks right in a browser, run:
make docs-open
You can also build EPUB output with make docs-epub.
How the documentation is published online#
GitHub Actions workflow:
.github/workflows/cd.ymlpublishes docs to GitHub Pages.Triggers:
on releases,
on pull requests that change docs-related files, publishing a preview under
/_preview/pr-<PR_NUMBER>/,manually via
workflow_dispatch.
To trigger it manually from your repo:
gh workflow run cd.yml --ref mainor use the Actions UI.