diff options
author | Patrick Rudolph <siro@das-labor.org> | 2020-05-17 20:04:12 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2020-07-01 21:51:26 +0000 |
commit | f664321508e1ebfd56f656cbf852997716bbbb3d (patch) | |
tree | 0f553602bb2a492f040d10fe55b2f9d7c4a24f58 /Documentation/conf.py | |
parent | ecdbc842e2d48362f27b8652d05606d93d1d7e26 (diff) |
Documentation: Add several fixes
* Add support for Sphinx 3.0+
* Add backward support for Sphinx 1.8 and older
* Make sphinxcontrib ditaa an optional extension
* Allow SPHINXOPTS to be set from command line
* Add sphinx and sphinx-lint to top level Makefile
Change-Id: If10aef51dc426445cb742aad13b19ee7fe169c51
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41492
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'Documentation/conf.py')
-rw-r--r-- | Documentation/conf.py | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/Documentation/conf.py b/Documentation/conf.py index 8848ee6512..f82fa0e182 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py @@ -1,6 +1,18 @@ # -*- coding: utf-8 -*- import subprocess from recommonmark.parser import CommonMarkParser +import sphinx + +# Get Sphinx version +major = 0 +minor = 0 +patchlevel = 0 +version = sphinx.__version__.split(".") +if len(version) > 1: + major = int(version[0]) + minor = int(version[1]) + if len(version) > 2: + patchlevel = int(version[2]) # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -25,7 +37,18 @@ release = subprocess.check_output(('git', 'describe')).decode("utf-8") # The short X.Y version. version = release.split("-")[0] -extensions = ['sphinxcontrib.ditaa'] +extensions = [] +# Load recommonmark, supported since 1.8+ +if major >= 2 or (major == 1 and minor >= 8): + extensions += ['recommonmark'] + +# Try to load DITAA +try: + import sphinxcontrib.ditaa +except ImportError: + print("Error: Please install sphinxcontrib.ditaa for ASCII art conversion\n") +else: + extensions += 'sphinxcontrib.ditaa' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -187,7 +210,9 @@ class MyCommonMarkParser(CommonMarkParser): def setup(app): from recommonmark.transform import AutoStructify - app.add_source_parser('.md', MyCommonMarkParser) + # Load recommonmark on old Sphinx + if major == 1 and minor < 8: + app.add_source_parser('.md', MyCommonMarkParser) app.add_config_value('recommonmark_config', { 'enable_auto_toc_tree': True, |