-
Notifications
You must be signed in to change notification settings - Fork 107
Closed
Description
Summary
Add a version selector to the documentation to allow users to easily switch between different versions (stable, latest, specific releases).
Background
Currently, the documentation is built from the master branch only. Users cannot easily access documentation for specific release versions or switch between versions.
Proposed Solution
Implement a version selector using sphinx-multiversion:
-
Install sphinx-multiversion
- Add to dependencies in
pyproject.toml
- Add to dependencies in
-
Configure sphinx-multiversion
- Configure which branches/tags to build
- Set up version naming conventions
- Configure version selector UI
-
Update GitHub Actions workflow
- Build documentation for multiple versions (e.g., stable, latest, v3.18.0, v3.17.0, etc.)
- Deploy all versions to appropriate directory structure
-
Update Furo theme configuration
- Add version selector dropdown to sidebar
- Configure version display format
Example Implementation
# .github/workflows/docs.yaml
- run: |
uv sync --group dev
uv build
sphinx-multiversion docs docs/_build/html# docs/conf.py
extensions = [
# ...
"sphinx_multiversion",
]
# Sphinx-multiversion configuration
smv_tag_whitelist = r'^v\d+\.\d+\.\d+$' # Match v1.2.3
smv_branch_whitelist = r'^(master|stable)$'
smv_remote_whitelist = r'^origin$'Expected Behavior
Users should be able to:
- See current version in the sidebar
- Click version selector to see available versions
- Switch to any released version or development version
- Access documentation for older releases
References
Related Issues
- Partially addresses The document version is incorrect #607 (version display is fixed in PR Fix documentation version display #611, but version selector is separate work)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels