HTML Templates: Expose full sphinx version tuple

Previously, there was only a string which is problematic
when you want to programmatically compare versions
for compatibility reasons.
This commit is contained in:
Aaron Carlisle
2021-07-13 20:44:46 -04:00
parent 9e1b4a8f16
commit 426fdcabcd
2 changed files with 13 additions and 2 deletions

View File

@@ -371,7 +371,16 @@ in the future.
.. data:: sphinx_version
The version of Sphinx used to build.
The version of Sphinx used to build represented as a string for example "3.5.1".
.. data:: sphinx_version_tuple
The version of Sphinx used to build represented as a tuple of five elements.
For Sphinx version 3.5.1 beta 3 this would be `(3, 5, 1, 'beta', 3)``.
The fourth element can be one of: ``alpha``, ``beta``, ``rc``, ``final``.
``final`` always has 0 as the last element.
.. versionadded:: 4.2
.. data:: style

View File

@@ -26,6 +26,7 @@ from docutils.nodes import Node
from docutils.utils import relative_path
from sphinx import __display_version__, package_dir
from sphinx import version_info as sphinx_version
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.config import ENUM, Config
@@ -508,7 +509,8 @@ class StandaloneHTMLBuilder(Builder):
'script_files': self.script_files,
'language': self.config.language,
'css_files': self.css_files,
'sphinx_version': __display_version__,
'sphinx_version': sphinx_version,
'sphinx_version_tuple': sphinx_version,
'style': self._get_style_filename(),
'rellinks': rellinks,
'builder': self.name,