mirror of
https://github.com/readthedocs/sphinx_rtd_theme.git
synced 2025-02-25 18:55:21 -06:00
* Tests: `sphinxdev` tox environment installs Sphinx from `master` It seems we had a bug in the name and it wasn't installing Sphinx from `master`. I expect this test to fail now because we pin `Sphinx<8`, but that's fine for now. * Prepare for 3.0 release - Drop Python <3.8 - Drop docutils <=0.18 - Add support for docutils 0.21 - Add support for Python 3.12 This follows the plan we wrote in https://sphinx-rtd-theme.readthedocs.io/en/stable/development.html#roadmap-release-3-0-0 The main idea here is to move forward with newer versions and drop support for old stuffs so we reduce the maintanence burden. * Update CircleCI matrix * More fixes to CircleCI * Run test over Sphinx 8.0 * Update contributing guide * Remove deprecated `readthedocs-sphinx-ext` * Remove old Sphinx versions * Uninstall our extension * Show a warning if `extra_css_files` is in the `html_context` See https://github.com/readthedocs/sphinx_rtd_theme/pull/450 * Update development page * Add deprecate warning for `analytics_` theme options * Update docs * Remove unused dependency Closes #1533 * Remove environment variables from our docs This was already added in a more generic way to the theme itself. * Require Sphinx >=6.0 * Deprecation warning about `get_html_theme_path` See https://github.com/readthedocs/sphinx_rtd_theme/pull/1479#issuecomment-2296317034
117 lines
2.7 KiB
Python
117 lines
2.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import sys
|
|
import os
|
|
import re
|
|
|
|
# Prefer to use the version of the theme in this repo
|
|
# and not the installed version of the theme.
|
|
sys.path.insert(0, os.path.abspath('..'))
|
|
sys.path.append(os.path.abspath('./demo/'))
|
|
|
|
from sphinx_rtd_theme import __version__ as theme_version
|
|
from sphinx_rtd_theme import __version_full__ as theme_version_full
|
|
from sphinx.locale import _
|
|
|
|
project = u'Read the Docs Sphinx Theme'
|
|
slug = re.sub(r'\W+', '-', project.lower())
|
|
version = theme_version
|
|
release = theme_version_full
|
|
author = u'Dave Snider, Read the Docs, Inc. & contributors'
|
|
copyright = author
|
|
language = 'en'
|
|
|
|
extensions = [
|
|
'sphinx.ext.intersphinx',
|
|
'sphinx.ext.autodoc',
|
|
'sphinx.ext.autosummary',
|
|
'sphinx.ext.mathjax',
|
|
'sphinx.ext.viewcode',
|
|
'sphinx_rtd_theme',
|
|
]
|
|
|
|
templates_path = ['_templates']
|
|
source_suffix = '.rst'
|
|
exclude_patterns = []
|
|
locale_dirs = ['locale/']
|
|
gettext_compact = False
|
|
|
|
master_doc = 'index'
|
|
suppress_warnings = ['image.nonlocal_uri']
|
|
pygments_style = 'default'
|
|
|
|
if sys.version_info < (3, 0):
|
|
tags.add("python2")
|
|
else:
|
|
tags.add("python3")
|
|
|
|
intersphinx_mapping = {
|
|
'rtd': ('https://docs.readthedocs.io/en/stable/', None),
|
|
'rtd-dev': ('https://dev.readthedocs.io/en/stable/', None),
|
|
'sphinx': ('https://www.sphinx-doc.org/en/master/', None),
|
|
}
|
|
|
|
html_theme = 'sphinx_rtd_theme'
|
|
html_theme_options = {
|
|
'logo_only': True,
|
|
'navigation_depth': 5,
|
|
}
|
|
html_context = {}
|
|
|
|
if not 'READTHEDOCS' in os.environ:
|
|
html_static_path = ['_static/']
|
|
html_js_files = ['debug.js']
|
|
|
|
# Add fake versions for local QA of the menu
|
|
html_context['test_versions'] = list(map(
|
|
lambda x: str(x / 10),
|
|
range(1, 100)
|
|
))
|
|
|
|
html_logo = "demo/static/logo-wordmark-light.svg"
|
|
html_show_sourcelink = True
|
|
html_favicon = "demo/static/favicon.ico"
|
|
|
|
htmlhelp_basename = slug
|
|
|
|
|
|
latex_documents = [
|
|
('index', '{0}.tex'.format(slug), project, author, 'manual'),
|
|
]
|
|
|
|
man_pages = [
|
|
('index', slug, project, [author], 1)
|
|
]
|
|
|
|
texinfo_documents = [
|
|
('index', slug, project, author, slug, project, 'Miscellaneous'),
|
|
]
|
|
|
|
|
|
# Extensions to theme docs
|
|
def setup(app):
|
|
from sphinx.domains.python import PyField
|
|
from sphinx.util.docfields import Field
|
|
|
|
app.add_object_type(
|
|
'confval',
|
|
'confval',
|
|
objname='configuration value',
|
|
indextemplate='pair: %s; configuration value',
|
|
doc_field_types=[
|
|
PyField(
|
|
'type',
|
|
label=_('Type'),
|
|
has_arg=False,
|
|
names=('type',),
|
|
bodyrolename='class'
|
|
),
|
|
Field(
|
|
'default',
|
|
label=_('Default'),
|
|
has_arg=False,
|
|
names=('default',),
|
|
),
|
|
]
|
|
)
|