Documentation versioning¶
PyReveal documentation uses Zensical with mike for versioned deployments on GitHub Pages, following the Zensical versioning guide.
How it works¶
- Each release is published under
https://tavallaie.github.io/pyreveal/<version>/ - The
latestalias points to the current release - The site root redirects to
latest - A version selector appears in the documentation header
Configuration lives in zensical.toml:
Local preview¶
Serve the current working tree (single version):
The docs home page embeds example/demo.py output. Media assets live in committed docs/demo/assets/; the build script only regenerates demo.html and revealjs/.
Preview all deployed versions after a local mike deploy:
Publish a new version manually¶
Use the major.minor version (for example 0.4 for package version 0.4.0):
uv sync --group docs
git fetch origin gh-pages --depth=1 || true
uv run mike deploy --push --update-aliases 0.4 latest
uv run mike set-default --push latest
CI deployment¶
Pushes to main and dev run .github/workflows/docs.yml, which:
- Checks out
src/pyreveal/revealjs(git submodule) - Builds
docs/demo/for the home-page iframe - Reads the package version from
pyproject.toml - Deploys docs with
mike deploy - Updates the
latestalias and default redirect
First-time setup¶
If the gh-pages branch does not exist yet, the first workflow run creates it. Enable GitHub Pages for the repository:
Settings → Pages → Deploy from branch → gh-pages → / (root)