Nextstrain Sphinx Theme

A Sphinx theme for Nextstrain’s documentation, based on Read The Docs’ default theme (sphinx_rtd_theme).

Installation

This theme is distributed on PyPI as nextstrain-sphinx-theme and can be installed with pip:

$ python3 -m pip install nextstrain-sphinx-theme

To use the theme in your Sphinx project, you will need to add the following to your conf.py file:

html_theme = "nextstrain-sphinx-theme"

This theme is based on sphinx_rtd_theme and accepts most of the same configuration options settable via html_theme_option and a few additional options as well:

logo

Boolean determining if the Nextstrain logo should be displayed. Defaults to true.

logo_link

URL to use for the logo’s link. Defaults to <https://docs.nextstrain.org>.

logo_only

Ignored. Inherited from sphinx_rtd_theme. Instead, the project name and version info will not be displayed (thus showing only the logo) when subproject is true.

subproject

Boolean determining if this is a subproject of the main Nextstrain documentation project on <https://docs.nextstrain.org>. Defaults to true.

If your project wants to display its own logo, just set Sphinx’s html_logo to point to the image file in your Sphinx project.

html_logo = "_static/your-logo.png"

This will automatically take precedence over the default Nextstrain logo provided by the theme.

Releasing

  1. Make sure you have a PyPI account and access to https://pypi.org/project/nextstrain-sphinx-theme/.

  2. Make sure all your changes have been commited to the main branch.

  3. Add a commit which describes the changes from the previous version to CHANGES.rst and updates the version number in lib/nextstrain/sphinx/theme/VERSION.

  4. Tag this commit with the version number, e.g. git tag -a 2020.4 -m "version 2020.4".

  5. Push the commit and tag to GitHub, e.g. git push origin main 2020.4.

  6. Generate the source and binary distributions with setup.py.

  7. Upload the two files from step 6 to PyPI with twine.

Testing

PR test builds are available here: https://readthedocs.org/projects/nextstrain-sphinx-theme/builds/ and usually follow the following URL path convention: https://nextstrain–17.org.readthedocs.build/projects/sphinx-theme/en/17/ where 17 is the PR number