diff options
author | Markus Heiser <markus.heiser@darmarit.de> | 2020-03-21 18:45:38 +0100 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarit.de> | 2020-03-21 18:45:38 +0100 |
commit | 2d956696e94e5639db6e12648442989919c48c22 (patch) | |
tree | 375f5931ab94e4cf2c342721073a134e8fdaf433 /utils/site-python | |
parent | d2cfe9ce5bb409472f10590aa1ae069b2a971a49 (diff) | |
download | searxng-2d956696e94e5639db6e12648442989919c48c22.tar.gz searxng-2d956696e94e5639db6e12648442989919c48c22.zip |
docs: building (PDF) books / build user book
BTW: cleaned up Makefile target help
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'utils/site-python')
-rw-r--r-- | utils/site-python/sphinx_build_tools.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/utils/site-python/sphinx_build_tools.py b/utils/site-python/sphinx_build_tools.py new file mode 100644 index 000000000..b9ebdeacc --- /dev/null +++ b/utils/site-python/sphinx_build_tools.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8; mode: python -*- +"""Implement some sphinx-build tools. + +""" + +import os +import sys +from sphinx.util.pycompat import execfile_ + +# ------------------------------------------------------------------------------ +def load_sphinx_config(namespace): +# ------------------------------------------------------------------------------ + + u"""Load an additional configuration file into *namespace*. + + The name of the configuration file is taken from the environment + ``SPHINX_CONF``. The external configuration file extends (or overwrites) the + configuration values from the origin ``conf.py``. With this you are able to + maintain *build themes*. To your docs/conf.py add:: + + from sphinx_build_tools import load_sphinx_config + ... + + # Since loadConfig overwrites settings from the global namespace, it has to be + # the last statement in the conf.py file + + load_sphinx_config(globals()) + + """ + + config_file = os.environ.get("SPHINX_CONF", None) + if (config_file is not None + and os.path.normpath(namespace["__file__"]) != os.path.normpath(config_file) ): + config_file = os.path.abspath(config_file) + + if os.path.isfile(config_file): + sys.stdout.write( + "load additional sphinx-config: %s\n" + % config_file) + config = namespace.copy() + config['__file__'] = config_file + execfile_(config_file, config) + del config['__file__'] + namespace.update(config) + else: + sys.stderr.write( + "WARNING: additional sphinx-config not found: %s\n" + % config_file) |