Skip to main content

Sphinx Version Warning is a Sphinx extension that allows you to show a Warning banner at the top of your documentation. The banner is shown based on the version that is displayed compared (using SemVer) with the latest version on the server.

This extension was originally created to be compatible with Read the Docs API and currently it’s the only backend that supports (inspired by https://github.com/rtfd/readthedocs.org/issues/3481#issuecomment-378000845)

How it works?

When visiting a page in Read the Docs that was built with this extension enabled, an AJAX request is done to the Read the Docs servers to retrieve all the active versions of the project. These versions are compared against the one that we are reading and if it’s an old version, a Warning banner appears at the top of the page.

Examples

warning-example.png

There is a live example living at Read the Docs:

  • latest version doesn’t show any kind of warning banner

  • 0.0.1 version shows a custom message for this particular version

  • 0.0.2 version shows a warning banner saying that 0.0.4 is available (at the time of writing this docs)

  • 0.0.4 version doesn’t show any banner since it’s the latest version (at the time of writing this docs)

Installation

Just run this pip command inside your virtualenv:

pip install sphinx-version-warning

Then in your conf.py you have to add versionwarning.extension in the extensions list. Should be similar to:

extensions = [
    'versionwarning.extension',
]

Remember to configure the versionwarning_project_version and versionwarning_project_slug of your Sphinx project since it’s the key for this to work properly:

versionwarning_project_version = '0.0.1'
versionwarning_project_slug = 'sphinx-version-warning'

Customization

Some customization can be done using the conf.py file of your Sphinx project:

versionwarning_admonition_type (string)

type of admonition for the banner (warning, admonition or note)

versionwarning_default_message (string)

default message for the warning banner

versionwarning_messages (dict)

mapping between versions and messages for its banners

versionwarning_message_placeholder (string)

text to be replaced by the version number link from the message

versionwarning_project_slug (string)

slug of the project under Read the Docs (default to READTHEDOCS_PROJECT environment variable)

versionwarning_project_version (string)

slug of the version for the current documentation (default to READTHEDOCS_VERSION environment variable)

versionwarning_api_url (string)

API URL to retrieve all versions for this project

versionwarning_banner_html (string)

HTML code used for the banner shown

versionwarning_banner_id_div (string)

HTML element ID used for the <div> inject as banner

versionwarning_body_selector (string)

jQuery selector to find the body element in the page and prepend the banner

How to contribute?

Pull Requests are always welcome!

Generate assets

npm install
./node_modules/.bin/webpack

Releasing

  1. Increment the version in versionwarning/__init__.py

  2. Increment the version in package.json

  3. Update the CHANGELOG.rst

  4. Update npm:

    $ npm update
  5. Compile assets:

    $ npm install
    $ ./node_modules/.bin/webpack
  6. Commit the changes: git commit -m "Release $NEW_VERSION"

  7. Tag the release in git: git tag $NEW_VERSION

  8. Push the tag to GitHub: git push --tags origin

  9. Upload the package to PyPI:

    $ rm -rf dist/
    $ python setup.py sdist bdist_wheel
    $ twine upload dist/*

Metadata

Release files for sphinx-version-warning 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sphinx-version-warning 1.1.2
File Size Uploaded
sphinx-version-warning-1.1.2.tar.gz 12.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sphinx-version-warning 1.1.2
File Interpreter ABI Platform
sphinx_version_warning-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 25.8 kB

Release files / sphinx-version-warning-1.1.2.tar.gz

Download URL sphinx-version-warning-1.1.2.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9924926fd3e739e32eb42ba2db092ecd7657200107146944fb3e440c9651d945
BLAKE2b-256 checksum
How to use checksums
5313c289394ce20fbd02a1914d44ad28caf26494387ecd2bdaa989a1b069c9ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

Release files / sphinx_version_warning-1.1.2-py3-none-any.whl

Download URL sphinx_version_warning-1.1.2-py3-none-any.whl
Size 13.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e015947fe7af6c4ba2ce08bb346b1eb822d9dbd797a748757366905f8ce623f1
BLAKE2b-256 checksum
How to use checksums
551a10984258c3524c9b29b7552fe629a9741c141712dc79c476606e4fe5edac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page