Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/readthedocs/sphinx_rtd_theme.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Bach <benjamin@overtag.dk>2022-10-13 00:44:49 +0300
committerBenjamin Bach <benjamin@overtag.dk>2022-10-13 00:44:49 +0300
commitd01f61499203d9d02d9331f8e8594c28503e8e36 (patch)
treed7b66aadad8e686f336f117d873dfb6297e1fd4a
parentdb7558841877479ad34d56a0ef44b8289611538a (diff)
parentc6fa4e7a40a2b7428e9b1085cd994ec24f089368 (diff)
Merge branch 'master' of github.com:readthedocs/sphinx_rtd_theme into bump-to-1.1b1
-rw-r--r--.circleci/config.yml2
-rw-r--r--docs/changelog.rst1
-rw-r--r--sphinx_rtd_theme/__init__.py9
-rw-r--r--sphinx_rtd_theme/layout.html4
-rw-r--r--tox.ini12
5 files changed, 15 insertions, 13 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 3963cae..ac8a665 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -11,7 +11,7 @@ commands:
type: string
sphinx-version:
type: string
- default: "16,17,18,20,21,22,23,24,30,31,32,33,34,35,40,41,50,51,52,latest"
+ default: "16,17,18,20,21,22,23,24,30,31,32,33,34,35,40,41,42,43,44,45,50,51,52,latest"
steps:
- checkout
- run: pip install --user tox
diff --git a/docs/changelog.rst b/docs/changelog.rst
index d3f1e0d..d633d31 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -45,6 +45,7 @@ Minor changes
* Python 3.10 added to test matrix (#1334)
* Supplemental Docker setup for development (#1319)
* Most of setup.py migrated to setup.cfg (#1116)
+* Jinja2 context variable ``sphinx_version_info`` is now ``(major, minor, -1)``, the patch component is always ``-1``. Reason: It's complicated. (#1345)
Incompatible Changes
diff --git a/sphinx_rtd_theme/__init__.py b/sphinx_rtd_theme/__init__.py
index 81a5f05..0f4758c 100644
--- a/sphinx_rtd_theme/__init__.py
+++ b/sphinx_rtd_theme/__init__.py
@@ -31,12 +31,6 @@ def config_initiated(app, config):
_('The canonical_url option is deprecated, use the html_baseurl option from Sphinx instead.')
)
-
-def extend_html_context(app, pagename, templatename, context, doctree):
- # Add ``sphinx_version_info`` tuple for use in Jinja templates
- context['sphinx_version_info'] = sphinx_version
-
-
# See http://www.sphinx-doc.org/en/stable/theming.html#distribute-your-theme-as-a-python-package
def setup(app):
if python_version[0] < 3:
@@ -66,7 +60,4 @@ def setup(app):
else:
app.config.html_add_permalinks = "\uf0c1"
- # Extend the default context when rendering the templates.
- app.connect("html-page-context", extend_html_context)
-
return {'parallel_read_safe': True, 'parallel_write_safe': True}
diff --git a/sphinx_rtd_theme/layout.html b/sphinx_rtd_theme/layout.html
index 99ec01b..bb0c069 100644
--- a/sphinx_rtd_theme/layout.html
+++ b/sphinx_rtd_theme/layout.html
@@ -9,6 +9,10 @@
{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) %}
{%- set sphinx_writer = 'writer-html5' if html5_doctype else 'writer-html4' -%}
+{# Build sphinx_version_info tuple from sphinx_version string in pure Jinja #}
+{%- set (_ver_major, _ver_minor) = (sphinx_version.split('.') | list)[:2] | map('int') -%}
+{%- set sphinx_version_info = (_ver_major, _ver_minor, -1) -%}
+
<!DOCTYPE html>
<html class="{{ sphinx_writer }}" lang="{{ lang_attr }}" >
<head>
diff --git a/tox.ini b/tox.ini
index 3c00b01..356006e 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,8 +1,10 @@
[tox]
envlist =
- py{2,27}-sphinx{16,17,18,20,21,22,23,24,30,31,32,33,34,35,40,41,42,43,44,45,50,51}{-html4,-html5,}{-qa,}
- py{3,36,37,38,39}-sphinx{16,17,18,20,21,22,23,24,30,31,32,33,34,35,40,41,42,43,44,45,50,51,latest}{-html4,-html5,}{-qa,}
- py{310}-sphinx{42,43,44,45,50,51,latest}{-html4,-html5,}{-qa,}
+ # Python 2.7 support was removed in Sphinx 2
+ py{27}-sphinx{16,17,18}{-html4,-html5,}{-qa,}
+ py{36,37,38,39}-sphinx{16,17,18,20,21,22,23,24,30,31,32,33,34,35,40,41,42,43,44,45,50,51,52,latest}{-html4,-html5,}{-qa,}
+ # Python 3.10 working from Sphinx 4.2 and up
+ py{310}-sphinx{42,43,44,45,50,51,52}{-html4,-html5,latest}{-qa,}
[testenv]
setev =
@@ -35,8 +37,12 @@ deps =
sphinx50: Sphinx>=5.0,<5.1
sphinx51: Sphinx>=5.1,<5.2
sphinx52: Sphinx>=5.2,<5.3
+ # All these Sphinx versions actually break since docutils 0.18, so we need to add this upper bound
+ # Projects using these Sphinx versions will have to do the same
+ # See: https://github.com/readthedocs/sphinx_rtd_theme/pull/1304
sphinx{16,17,18,20,21,22,23,24,30,31,32,33,34,35,40,41,42}: docutils<0.18
sphinxlatest: Sphinx
+ sphinxdev: https://github.com/sphinx-doc/sphinx/archive/refs/heads/master.zip
commands =
pytest {posargs} tests/
!html4: sphinx-build -b html -Dhtml4_writer=0 -d {envtmpdir}/doctrees docs/ {envtmpdir}/html