python: docs processing
[gpgme.git] / lang / python / doc / rst / conf.py
1 # -*- coding: utf-8 -*-
2 #
3 # Configuration file for the Sphinx documentation builder.
4 #
5 # This file does only contain a selection of the most common options. For a
6 # full list see the documentation:
7 # http://www.sphinx-doc.org/en/master/config
8
9 # -- Path setup --------------------------------------------------------------
10
11 # If extensions (or modules to document with autodoc) are in another directory,
12 # add these directories to sys.path here. If the directory is relative to the
13 # documentation root, use os.path.abspath to make it absolute, like shown here.
14 #
15 # import os
16 # import sys
17 # sys.path.insert(0, os.path.abspath('.'))
18 import hashlib
19 import time
20
21
22 # -- Project information -----------------------------------------------------
23
24 project = 'GPGME Python Bindings'
25 copyright = '2018, The GnuPG Hackers'
26 author = 'The GnuPG Hackers'
27
28 # The short X.Y version
29 version = ''
30 # The full version, including alpha/beta/rc tags
31 release = ''
32
33
34 # -- General configuration ---------------------------------------------------
35
36 # If your documentation needs a minimal Sphinx version, state it here.
37 #
38 # needs_sphinx = '1.0'
39
40 # Add any Sphinx extension module names here, as strings. They can be
41 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
42 # ones.
43 extensions = [
44 ]
45
46 # Add any paths that contain templates here, relative to this directory.
47 templates_path = ['_templates']
48
49 # The suffix(es) of source filenames.
50 # You can specify multiple suffix as a list of string:
51 #
52 # source_suffix = ['.rst', '.md']
53 source_suffix = '.rst'
54
55 # The master toctree document.
56 master_doc = 'index'
57
58 # The language for content autogenerated by Sphinx. Refer to documentation
59 # for a list of supported languages.
60 #
61 # This is also used if you do content translation via gettext catalogs.
62 # Usually you set "language" from the command line for these cases.
63 language = None
64
65 # List of patterns, relative to source directory, that match files and
66 # directories to ignore when looking for source files.
67 # This pattern also affects html_static_path and html_extra_path.
68 exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
69
70 # The name of the Pygments (syntax highlighting) style to use.
71 pygments_style = None
72
73
74 # -- Options for HTML output -------------------------------------------------
75
76 # The theme to use for HTML and HTML Help pages.  See the documentation for
77 # a list of builtin themes.
78 #
79 html_theme = 'alabaster'
80
81 # Theme options are theme-specific and customize the look and feel of a theme
82 # further.  For a list of options available for each theme, see the
83 # documentation.
84 #
85 # html_theme_options = {}
86
87 # Add any paths that contain custom static files (such as style sheets) here,
88 # relative to this directory. They are copied after the builtin static files,
89 # so a file named "default.css" will overwrite the builtin "default.css".
90 html_static_path = ['_static']
91
92 # Custom sidebar templates, must be a dictionary that maps document names
93 # to template names.
94 #
95 # The default sidebars (for documents that don't match any pattern) are
96 # defined by theme itself.  Builtin themes are using these templates by
97 # default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
98 # 'searchbox.html']``.
99 #
100 # html_sidebars = {}
101
102
103 # -- Options for HTMLHelp output ---------------------------------------------
104
105 # Output file base name for HTML help builder.
106 htmlhelp_basename = 'GPGMEPythonBindings'
107
108
109 # -- Options for LaTeX output ------------------------------------------------
110
111 latex_elements = {
112     # The paper size ('letterpaper' or 'a4paper').
113     #
114     # 'papersize': 'letterpaper',
115
116     # The font size ('10pt', '11pt' or '12pt').
117     #
118     # 'pointsize': '10pt',
119     'pointsize': '12pt'
120
121     # Additional stuff for the LaTeX preamble.
122     #
123     # 'preamble': '',
124
125     # Latex figure (float) alignment
126     #
127     # 'figure_align': 'htbp',
128 }
129
130 # Grouping the document tree into LaTeX files. List of tuples
131 # (source start file, target name, title,
132 #  author, documentclass [howto, manual, or own class]).
133 latex_documents = [
134     (master_doc, 'GPGMEPythonBindings.tex',
135      'GPGME Python Bindings Documentation',
136      'The GnuPG Hackers', 'manual'),
137 ]
138
139
140 # -- Options for manual page output ------------------------------------------
141
142 # One entry per manual page. List of tuples
143 # (source start file, name, description, authors, manual section).
144 man_pages = [
145     (master_doc, 'gpgmepythonbindings', 'GPGME Python Bindings Documentation',
146      [author], 1)
147 ]
148
149
150 # -- Options for Texinfo output ----------------------------------------------
151
152 # Grouping the document tree into Texinfo files. List of tuples
153 # (source start file, target name, title, author,
154 #  dir menu entry, description, category)
155 texinfo_documents = [
156     (master_doc, 'GPGMEPythonBindings', 'GPGME Python Bindings Documentation',
157      author, 'GPGMEPythonBindings',
158      'Python Bindings to the GNU Privacy Guard API.', 'Miscellaneous'),
159 ]
160
161
162 # -- Options for Epub output -------------------------------------------------
163
164 # Bibliographic Dublin Core info.
165 epub_title = project
166
167 # The unique identifier of the text. This can be an ISBN number
168 # or the project homepage.
169 #
170 # epub_identifier = ''
171 epub_identifier = 'org.gnupg.gpgme.python'
172
173 # A unique identification for the text.
174 #
175 # epub_uid = ''
176 stt = str(time.time())
177 epub_seed = "{0} {1}".format(epub_identifier, tt)
178 # SHA1 would be more than fine for this, but since the dimmest always panic
179 # about any use of SHA1 with GnuPG, we'll use SHA256.
180 epub_hash = hashlib.sha256(epub_seed).hexdigest()
181 epub_uid = 'sha256:{0}'.format(epub_hash)
182
183 # A list of files that should not be packed into the epub file.
184 epub_exclude_files = ['search.html']