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.7.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.7-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for sphinx_multiversion_scylla-0.3.7.tar.gz
Algorithm Hash digest
SHA256 fc1ddd58e82cfd8810c1be6db8717a244043c04c1c632e9bd1436415d1db0d3b
MD5 c5618e25450a29661d599b47d676a2d3
BLAKE2b-256 55b183fb37f6c9038469b3bd01453875bb2127b3c03f9f41247394ad2063645c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sphinx_multiversion_scylla-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 6205d261a77c90b7ea3105311d1d56014736a5148966133c34344512bb8c4e4f
MD5 8e0cb74103176fe9f78cf50e3f0005fa
BLAKE2b-256 a194f5b6219ca1136dc0305aaf3fb6c96aa2dfe65224d6dc147e00a6485a1a22

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