Skip to main content

Add support for multiple versions to sphinx

Project description

sphinx-multiversion

Fork of https://github.com/Holzhaus/sphinx-multiversion for the ScyllaDB Project.

Sphinx extension for building self-hosted versioned docs.

Original documentation can be found at: https://holzhaus.github.io/sphinx-multiversion/

Fork additions

Prebuild and postbuild commands

The fork introduces the possibility to run custom commands before and after building the docs with the option --pre-build and --post-build.

This could be useful to prepare the docs repository before running sphinx-build, debug the execution, or even generate versioned documentation using other builders.

For example, imagine that you want to build versioned docs written in Sphinx, but the API reference is generated with JavaDoc. This option enables the generation of both versioned docs to host them under the same folder using GitHub Pages.

Here's an example showing the directory where the build command is running:

sphinx-multiversion docs build/html --pre-build pw

You can pass multiple commands by adding extra --pre-build or --post-build options. The commands run in order, from left to right:

sphinx-multiversion docs build/html --pre-build pwd --pre-build ls --post-build "cat file.txt"

Rename latest version URL

The smv_latest_version setting determines which is the latest version. Setting this option could be useful to show a warning when users are not reading the latest version.

You can override the latest version output directory with smv_rename_latest_version.

Here's an example:

smv_latest_version = 'x.y.z'         # Use the branch/tag name
smv_rename_latest_version = 'latest' # Use the commit hash

Add support for custom tags

See https://github.com/dgarcia360/sphinx-multiversion/pull/4

Fix Git LFS error

See https://github.com/scylladb/scylla-enterprise/issues/3414

Enable paralell builds

See https://github.com/scylladb/sphinx-scylladb-theme/pull/891

Sphinx 9 compatibility

Updated Config.read() calls to use keyword-only arguments (overrides=, tags=) as required by Sphinx 9.

Version specific overrides

The following properties can be defined on a per-version basis.

  • rst_prolog
  • myst_substitutions: Introduced in 0.3.3
  • exclude_patterns: Introduced in 0.3.2

License

BSD 2-Clause License

Copyright (c) 2020, Jan Holthuis jan.holthuis@ruhr-uni-bochum.de All rights reserved.

Modifications (see "Fork Additions") 2020, David Garcia hi@davidgarcia.dev

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinx_multiversion_scylla-0.3.8.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sphinx_multiversion_scylla-0.3.8-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file sphinx_multiversion_scylla-0.3.8.tar.gz.

File metadata

File hashes

Hashes for sphinx_multiversion_scylla-0.3.8.tar.gz
Algorithm Hash digest
SHA256 418b563afd3c75c40f096b614cb4c595928692fb0b340762e5fd19c876567040
MD5 a04e3195b3d622868042fb4182bf5f8c
BLAKE2b-256 83b7ca070ac96cbca8b91c499827790ca4816a259b9259a961108a3fd9fa470c

See more details on using hashes here.

File details

Details for the file sphinx_multiversion_scylla-0.3.8-py3-none-any.whl.

File metadata

File hashes

Hashes for sphinx_multiversion_scylla-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a3a16724eb5ec76563f12dd66efb2e7c5d9aa2ddf5e8bb755e817f9973b44ffd
MD5 ad9bcce02fc01c0f448c726b1c5be875
BLAKE2b-256 671dc4dea80220e2cab5dc326da2369ecac60b5fc71cb0643df698ef76bb14bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page