summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-06-12 01:18:13 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-06-12 01:18:13 +0300
commit91031b60dc974ab76159c9c2e2f0ef5c453f88ee (patch)
tree6ebaeaa680892a11d388b7391d0fe4825c3937af
parentf6d01b8b67325ec6c5e48251f042504448b57a7a (diff)
downloadmicropython-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-xdocs/conf.py25
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, [])