Build and publish the docs#
From a Podbench checkout:
uv run --locked tox -e docs
This builds Sphinx with warnings treated as errors. Open build/html/index.html
to review the output. For a browser preview that reloads when files change:
uv run --locked tox -e docs-autobuild
Follow the local URL printed by the command. Edit Markdown pages in docs/ and
add them to the appropriate table of contents. Keep tutorials focused on a
complete task and put optional operations in how-to guides.
If the preview reports address already in use, another server is using its
port. Stop the previous preview with Ctrl+C in its terminal, or choose another
port:
uv run --locked tox -e docs-autobuild -- --port 8001
This error concerns the preview server; the preceding Sphinx build may have completed successfully.
The project uses the Diamond Light Source Python Copier template, pinned in
.copier-answers.yml with docs_type: sphinx. The Sphinx conversion was generated
with:
uvx copier update --defaults --trust --vcs-ref 5.4.0 --data docs_type=sphinx
The template supplies MyST Markdown, the PyData theme, tox build/preview commands and the versioned GitHub Pages workflow. Podbench keeps concise task guides in place of the template’s sample API and contributor pages.
Pull requests build a downloadable docs artifact. Builds on main and tags
publish versioned documentation to gh-pages. After the first successful publish,
set the repository’s Settings → Pages source to Deploy from a branch,
branch gh-pages, directory / (root). The entry page redirects to main.
The periodic workflow checks external links weekly; run it locally with:
uv run --locked tox -e docs -- -b linkcheck