diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-06-12 01:18:13 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-06-12 01:18:13 +0300 |
commit | 91031b60dc974ab76159c9c2e2f0ef5c453f88ee (patch) | |
tree | 6ebaeaa680892a11d388b7391d0fe4825c3937af | |
parent | f6d01b8b67325ec6c5e48251f042504448b57a7a (diff) | |
download | micropython-91031b60dc974ab76159c9c2e2f0ef5c453f88ee.tar.gz micropython-91031b60dc974ab76159c9c2e2f0ef5c453f88ee.zip |
docs/conf.py: Active sphinx_selective_exclude extensions.
For modindex_exclude extension, per-port module excludes are also added.
With these changes, it's possible to generate docs for a particular port
devoid of any superfluous and unrelated content, including in indexes and
full-text search - with small caveat: when generating PDF docs after HTML,
or vice-versa cached internal doctree representation (build/*/doctrees/)
must be removed first.
-rwxr-xr-x | docs/conf.py | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/docs/conf.py b/docs/conf.py index 572348c141..8fa88022f0 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -19,7 +19,7 @@ import os # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) +sys.path.insert(0, os.path.abspath('.')) # Work out the port to generate the docs for from collections import OrderedDict @@ -71,6 +71,9 @@ extensions = [ 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx.ext.coverage', + 'sphinx_selective_exclude.modindex_exclude', + 'sphinx_selective_exclude.eager_only', + 'sphinx_selective_exclude.search_auto_exclude', ] # Add any paths that contain templates here, relative to this directory. @@ -316,6 +319,20 @@ intersphinx_mapping = {'http://docs.python.org/': None} # Append the other ports' specific folders/files to the exclude pattern exclude_patterns.extend([port + '*' for port in ports if port != micropy_port]) -# Exclude pyb module if the port is the WiPy -if micropy_port == 'wipy': - exclude_patterns.append('library/pyb*') + +modules_port_specific = { + 'pyboard': ['pyb'], + 'wipy': ['wipy'], + 'esp8266': ['esp'], +} + +modindex_exclude = [] + +for p, l in modules_port_specific.items(): + if p != micropy_port: + modindex_exclude += l + +# Exclude extra modules per port +modindex_exclude += { + 'esp8266': ['cmath', 'select'], +}.get(micropy_port, []) |