# General information about the project.
project = u'notmuch'
-copyright = u'2009-2020, Carl Worth and many others'
+copyright = u'2009-2022, Carl Worth and many others'
location = os.path.dirname(__file__)
for pathdir in ['.', '..']:
- version_file = os.path.join(location,pathdir,'version')
+ version_file = os.path.join(location,pathdir,'version.txt')
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'))
+sys.path.insert(0, os.path.join(location, '..', 'bindings', 'python-cffi', 'build', 'stage'))
# read generated config
for pathdir in ['.', '..']:
# Hacky reimplementation of include to workaround limitations of
# sphinx-doc
lines = ['.. include:: /../emacs/rstdoc.rsti\n\n'] # in the source tree
- for file in ('notmuch.rsti', 'notmuch-lib.rsti', 'notmuch-show.rsti', 'notmuch-tag.rsti'):
+ for file in ('notmuch.rsti', 'notmuch-lib.rsti', 'notmuch-hello.rsti', 'notmuch-show.rsti', 'notmuch-tag.rsti', 'notmuch-tree.rsti'):
lines.extend(open(rsti_dir+'/'+file))
rst_epilog = ''.join(lines)
del lines
# Despite the name, this actually affects manual pages as well.
html_use_smartypants = False
+# See:
+# - https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-manpages_url
+# - https://manpages.debian.org/
+manpages_url = 'https://manpages.debian.org/{page}.{section}.html'
+
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
notmuch_authors = u'Carl Worth and many others'
+man_make_section_directory = False
+
man_pages = [
('man1/notmuch', 'notmuch',
u'thread-based email index, search, and tagging',
u'send mail with notmuch and emacs',
[notmuch_authors], 1),
+ ('man1/notmuch-git', 'notmuch-git',
+ u'manage notmuch tags with git',
+ [notmuch_authors], 1),
+
('man5/notmuch-hooks', 'notmuch-hooks',
u'hooks for notmuch',
[notmuch_authors], 5),
u'syntax for notmuch queries',
[notmuch_authors], 7),
+ ('man7/notmuch-sexp-queries', 'notmuch-sexp-queries',
+ u's-expression syntax for notmuch queries',
+ [notmuch_authors], 7),
+
('man1/notmuch-show', 'notmuch-show',
u'show messages matching the given search terms',
[notmuch_authors], 1),
x[2], # description
'Miscellaneous' # category
) for x in man_pages]
+
+def setup(app):
+ import docutils.nodes
+ # define nmconfig role and directive for config items.
+ app.add_object_type('nmconfig','nmconfig',
+ indextemplate='pair: configuration item; %s',
+ ref_nodeclass=docutils.nodes.generated)