# All configuration values have a default; values that are commented out
# serve to show the default.
+import importlib
import sys, os
import sphinx
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc','sphinx.ext.autosummary']
-try:
- import sphinxcontrib.napoleon
- extensions += ['sphinxcontrib.napoleon']
-except:
- pass
+# Optional extensions
+extra_extensions = ['sphinx_rtd_theme']
+if sphinx.version_info[:2] < (1,3):
+ extra_extensions += ['sphinxcontrib.napoleon']
+else:
+ extra_extensions += ['sphinx.ext.napoleon']
+for ext in extra_extensions:
+ try:
+ importlib.import_module(ext)
+ extensions.append(ext)
+ globals().update({'use_{}'.format(ext):True})
+ except:
+ globals().update({'use_{}'.format(ext):False})
#add pdfbuilder to build a pdf with rst2pdf
#extensions = ['rst2pdf.pdfbuilder']
# The theme to use for HTML and HTML Help pages. Major themes that come with
# Sphinx are currently 'default' and 'sphinxdoc'.
-html_theme = 'default' if sphinx.version_info[:2] < (1,3) else 'classic'
+if use_sphinx_rtd_theme:
+ html_theme = 'sphinx_rtd_theme'
+else:
+ html_theme = 'default' if sphinx.version_info[:2] < (1,3) else 'classic'
+
themes_options = {}
themes_options['classic'] = {
'body_max_width':'none',