]> git.cworth.org Git - notmuch-old/commitdiff
doc: set up for autoapi / readthedocs compatibility rtdtest
authorDavid Bremner <david@tethera.net>
Sat, 11 Jul 2020 22:46:21 +0000 (19:46 -0300)
committerDavid Bremner <david@tethera.net>
Sun, 12 Jul 2020 11:52:20 +0000 (08:52 -0300)
sphinx-autoapi seems nicer conceptually (it parses the docs rather
than importing them), but it also generates a ton of warnings, so
leave the default as autodoc.

doc/conf.py
doc/index.rst
doc/python-autoapi.rst [new file with mode: 0644]
doc/python-autodoc.rst [new file with mode: 0644]
doc/python-bindings.rst [deleted file]
doc/requirements.txt [new file with mode: 0644]

index 94e266af5878c8590802780f23e8e8c99a42b81e..c34c03acc7ec7f3cda8c970b90e21d4101bd005c 100644 (file)
@@ -4,7 +4,28 @@
 import sys
 import os
 
-extensions = [ 'sphinx.ext.autodoc' ]
+location = os.path.dirname(__file__)
+bindings_path =  os.path.join(location, '..', 'bindings', 'python-cffi','notmuch2')
+exclude_patterns = ['_build']
+
+# read generated config
+for pathdir in ['.', '..']:
+    conf_file = os.path.join(location,pathdir,'sphinx.config')
+    if os.path.exists(conf_file):
+        with open(conf_file,'r') as infile:
+            exec(''.join(infile.readlines()))
+
+if tags.has("AUTOAPI") or os.environ.get('READTHEDOCS') == 'True':
+    extensions = [ 'autoapi.extension' ]
+    autoapi_dirs = [ bindings_path ]
+    autoapi_add_toctree_entry = False
+    exclude_patterns.append('python-autodoc.rst')
+elif tags.has('WITH_PYTHON'):
+    extensions = [ 'sphinx.ext.autodoc' ]
+    sys.path.insert(0, bindings_path)
+    exclude_patterns.append('python-autoapi.rst')
+else:
+    exclude_patterns.append('python-autodoc.rst', 'python-autoapi.rst')
 
 # The suffix of source filenames.
 source_suffix = '.rst'
@@ -16,31 +37,15 @@ master_doc = 'index'
 project = u'notmuch'
 copyright = u'2009-2020, Carl Worth and many others'
 
-location = os.path.dirname(__file__)
-
 for pathdir in ['.', '..']:
     version_file = os.path.join(location,pathdir,'version')
     if os.path.exists(version_file):
         with open(version_file,'r') as infile:
             version=infile.read().replace('\n','')
 
-# for autodoc
-sys.path.insert(0, os.path.join(location, '..', 'bindings', 'python-cffi', 'notmuch2'))
-
-# read generated config
-for pathdir in ['.', '..']:
-    conf_file = os.path.join(location,pathdir,'sphinx.config')
-    if os.path.exists(conf_file):
-        with open(conf_file,'r') as infile:
-            exec(''.join(infile.readlines()))
-
 # The full version, including alpha/beta/rc tags.
 release = version
 
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = ['_build']
-
 if tags.has('WITH_EMACS'):
     # Hacky reimplementation of include to workaround limitations of
     # sphinx-doc
@@ -55,9 +60,6 @@ else:
     # the docstring include files
     exclude_patterns.append('notmuch-emacs.rst')
 
-if not tags.has('WITH_PYTHON'):
-    exclude_patterns.append('python-bindings.rst')
-
 # The name of the Pygments (syntax highlighting) style to use.
 pygments_style = 'sphinx'
 
index a3bf348084b8c2f8140515328a107436ffdb732f..3493d7b4ae8497e2dc45a2903ea2d636c6a126ef 100644 (file)
@@ -26,7 +26,8 @@ Contents:
    man7/notmuch-search-terms
    man1/notmuch-show
    man1/notmuch-tag
-   python-bindings
+   python-autodoc
+   python-autoapi
 
 Indices and tables
 ==================
diff --git a/doc/python-autoapi.rst b/doc/python-autoapi.rst
new file mode 100644 (file)
index 0000000..fb96887
--- /dev/null
@@ -0,0 +1,5 @@
+Python Bindings
+===============
+
+.. autoapimodule:: notmuch2
+   :members:
diff --git a/doc/python-autodoc.rst b/doc/python-autodoc.rst
new file mode 100644 (file)
index 0000000..e1ad26a
--- /dev/null
@@ -0,0 +1,5 @@
+Python Bindings
+===============
+
+.. automodule:: notmuch2
+   :members:
diff --git a/doc/python-bindings.rst b/doc/python-bindings.rst
deleted file mode 100644 (file)
index e1ad26a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Python Bindings
-===============
-
-.. automodule:: notmuch2
-   :members:
diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100644 (file)
index 0000000..519ccd3
--- /dev/null
@@ -0,0 +1,2 @@
+# for readthedocs, or other standalone builds of the docs.
+sphinx-autoapi