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('.'))
18import hashlib
19import time
20
21
22# -- Project information -----------------------------------------------------
23
24project = 'GPGME Python Bindings'
25copyright = '2018, The GnuPG Hackers'
26author = 'The GnuPG Hackers'
27
28# The short X.Y version
29version = ''
30# The full version, including alpha/beta/rc tags
31release = ''
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.
43extensions = [
44]
45
46# Add any paths that contain templates here, relative to this directory.
47templates_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']
53source_suffix = '.rst'
54
55# The master toctree document.
56master_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.
63language = 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.
68exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
69
70# The name of the Pygments (syntax highlighting) style to use.
71pygments_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#
79html_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".
90html_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.
106htmlhelp_basename = 'GPGMEPythonBindings'
107
108
109# -- Options for LaTeX output ------------------------------------------------
110
111latex_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]).
133latex_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).
144man_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)
155texinfo_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.
165epub_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 = ''
171epub_identifier = 'org.gnupg.gpgme.python'
172
173# A unique identification for the text.
174#
175# epub_uid = ''
176stt = str(time.time())
177epub_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.
180epub_hash = hashlib.sha256(epub_seed).hexdigest()
181epub_uid = 'sha256:{0}'.format(epub_hash)
182
183# A list of files that should not be packed into the epub file.
184epub_exclude_files = ['search.html']
185