mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #2087 from cppformat/optional-rtd
refs #2087, #2086, #1845, #2097: Make sphinx_rtd_theme optional
This commit is contained in:
commit
4391521b81
1
setup.py
1
setup.py
@ -53,7 +53,6 @@ requires = [
|
|||||||
'snowballstemmer>=1.1',
|
'snowballstemmer>=1.1',
|
||||||
'babel>=1.3,!=2.0',
|
'babel>=1.3,!=2.0',
|
||||||
'alabaster>=0.7,<0.8',
|
'alabaster>=0.7,<0.8',
|
||||||
'sphinx_rtd_theme>=0.1,<2.0',
|
|
||||||
]
|
]
|
||||||
extras_require = {
|
extras_require = {
|
||||||
# Environment Marker works for wheel 0.24 or later
|
# Environment Marker works for wheel 0.24 or later
|
||||||
|
@ -27,7 +27,6 @@ from sphinx import package_dir
|
|||||||
from sphinx.errors import ThemeError
|
from sphinx.errors import ThemeError
|
||||||
|
|
||||||
import alabaster
|
import alabaster
|
||||||
import sphinx_rtd_theme
|
|
||||||
|
|
||||||
NODEFAULT = object()
|
NODEFAULT = object()
|
||||||
THEMECONF = 'theme.conf'
|
THEMECONF = 'theme.conf'
|
||||||
@ -71,7 +70,13 @@ class Theme(object):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def load_extra_theme(cls, name):
|
def load_extra_theme(cls, name):
|
||||||
if name in ('alabaster', 'sphinx_rtd_theme'):
|
themes = ['alabaster']
|
||||||
|
try:
|
||||||
|
import sphinx_rtd_theme
|
||||||
|
themes.append('sphinx_rtd_theme')
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
if name in themes:
|
||||||
if name == 'alabaster':
|
if name == 'alabaster':
|
||||||
themedir = alabaster.get_path()
|
themedir = alabaster.get_path()
|
||||||
# alabaster theme also requires 'alabaster' extension, it will be loaded
|
# alabaster theme also requires 'alabaster' extension, it will be loaded
|
||||||
@ -97,6 +102,10 @@ class Theme(object):
|
|||||||
if name not in self.themes:
|
if name not in self.themes:
|
||||||
self.load_extra_theme(name)
|
self.load_extra_theme(name)
|
||||||
if name not in self.themes:
|
if name not in self.themes:
|
||||||
|
if name == 'sphinx_rtd_theme':
|
||||||
|
raise ThemeError('sphinx_rtd_theme has been unbundled since version '
|
||||||
|
'1.4.0. Please install it manually.')
|
||||||
|
else:
|
||||||
raise ThemeError('no theme named %r found '
|
raise ThemeError('no theme named %r found '
|
||||||
'(missing theme.conf?)' % name)
|
'(missing theme.conf?)' % name)
|
||||||
self.name = name
|
self.name = name
|
||||||
|
Loading…
Reference in New Issue
Block a user