]> git.ipfire.org Git - thirdparty/pdns.git/blob - docs/conf.py
Merge pull request #6171 from ahupowerdns/luarec
[thirdparty/pdns.git] / docs / conf.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 #
4 # PowerDNS Recursor documentation build configuration file, created by
5 # sphinx-quickstart on Wed Jun 28 14:56:44 2017.
6 #
7 # This file is execfile()d with the current directory set to its
8 # containing dir.
9 #
10 # Note that not all possible configuration values are present in this
11 # autogenerated file.
12 #
13 # All configuration values have a default; values that are commented out
14 # serve to show the default.
15
16 # If extensions (or modules to document with autodoc) are in another directory,
17 # add these directories to sys.path here. If the directory is relative to the
18 # documentation root, use os.path.abspath to make it absolute, like shown here.
19 #
20 # import os
21 import glob
22 # import sys
23 # sys.path.insert(0, os.path.abspath('.'))
24 import guzzle_sphinx_theme
25
26 # -- General configuration ------------------------------------------------
27
28 # If your documentation needs a minimal Sphinx version, state it here.
29 #
30 # needs_sphinx = '1.0'
31
32 # Add any Sphinx extension module names here, as strings. They can be
33 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
34 # ones.
35 #extensions = []
36 #extensions = ['redjack.sphinx.lua', 'sphinxcontrib.httpdomain', 'sphinxjsondomain']
37 extensions = ['sphinxcontrib.openapi',
38 'sphinxcontrib.fulltoc', 'changelog']
39
40 # Add any paths that contain templates here, relative to this directory.
41 templates_path = ['_templates']
42
43 # The suffix(es) of source filenames.
44 # You can specify multiple suffix as a list of string:
45 #
46 # source_suffix = ['.rst', '.md']
47 source_suffix = '.rst'
48
49 # The master toctree document.
50 master_doc = 'indexTOC'
51
52 # General information about the project.
53 project = 'PowerDNS Authoritative Server'
54 copyright = '2001-2018, PowerDNS.COM BV'
55 author = 'PowerDNS.COM BV'
56
57 # The version info for the project you're documenting, acts as replacement for
58 # |version| and |release|, also used in various other places throughout the
59 # built documents.
60 #
61 # The short X.Y version.
62 version = '4.2'
63 # The full version, including alpha/beta/rc tags.
64 #release = '4.1.1-pre'
65
66 # The language for content autogenerated by Sphinx. Refer to documentation
67 # for a list of supported languages.
68 #
69 # This is also used if you do content translation via gettext catalogs.
70 # Usually you set "language" from the command line for these cases.
71 language = None
72
73 # List of patterns, relative to source directory, that match files and
74 # directories to ignore when looking for source files.
75 # This patterns also effect to html_static_path and html_extra_path
76 exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store',
77 '.venv',
78 'security-advisories/security-policy.rst',
79 'common/secpoll.rst',
80 'common/api/*']
81
82 # The name of the Pygments (syntax highlighting) style to use.
83 pygments_style = 'sphinx'
84
85 # If true, `todo` and `todoList` produce output, else they produce nothing.
86 todo_include_todos = False
87
88
89 # -- Changelog Options ----------------------------------------------------
90
91 changelog_render_ticket = "https://github.com/PowerDNS/pdns/issues/%s"
92 changelog_render_pullreq = "https://github.com/PowerDNS/pdns/pull/%s"
93 changelog_render_changeset = "https://github.com/PowerDNS/pdns/commit/%s"
94
95 changelog_sections = ['New Features', 'Removed Features', 'Improvements', 'Bug Fixes']
96 changelog_inner_tag_sort = ['Internals', 'API', 'Tools', 'ALIAS', 'DNSUpdate', 'BIND', 'MySQL', 'Postgresql', 'Oracle', 'LDAP', 'GeoIP', 'Remote']
97
98 changelog_render_tags = False
99
100 # -- Options for HTML output ----------------------------------------------
101
102 # The theme to use for HTML and HTML Help pages. See the documentation for
103 # a list of builtin themes.
104 #
105 html_theme_path = guzzle_sphinx_theme.html_theme_path()
106 html_theme = 'guzzle_sphinx_theme'
107
108 extensions.append("guzzle_sphinx_theme")
109
110 html_theme_options = {
111 # Set the name of the project to appear in the sidebar
112 "project_nav_name": "PowerDNS Authoritative Server",
113 }
114 html_favicon = 'common/favicon.ico'
115
116 # Theme options are theme-specific and customize the look and feel of a theme
117 # further. For a list of options available for each theme, see the
118 # documentation.
119 #
120 # html_theme_options = {}
121
122 # Add any paths that contain custom static files (such as style sheets) here,
123 # relative to this directory. They are copied after the builtin static files,
124 # so a file named "default.css" will overwrite the builtin "default.css".
125 html_static_path = ['_static']
126 html_style = 'pdns.css'
127
128
129 # -- Options for HTMLHelp output ------------------------------------------
130
131 # Output file base name for HTML help builder.
132 htmlhelp_basename = 'PowerDNSAuthoritativedoc'
133
134
135 # -- Options for LaTeX output ---------------------------------------------
136
137 latex_elements = {
138 # The paper size ('letterpaper' or 'a4paper').
139 #
140 'papersize': 'a4paper',
141
142 # The font size ('10pt', '11pt' or '12pt').
143 #
144 # 'pointsize': '10pt',
145
146 # Additional stuff for the LaTeX preamble.
147 #
148 # 'preamble': '',
149
150 # Latex figure (float) alignment
151 #
152 # 'figure_align': 'htbp',
153 }
154
155 # Grouping the document tree into LaTeX files. List of tuples
156 # (source start file, target name, title,
157 # author, documentclass [howto, manual, or own class]).
158 latex_documents = [
159 (master_doc, 'PowerDNS-Authoritative.tex', 'PowerDNS Authoritative Server Documentation',
160 'PowerDNS.COM BV', 'manual'),
161 ]
162
163 latex_logo = 'common/powerdns-logo-500px.png'
164
165 # -- Options for manual page output ---------------------------------------
166
167 # One entry per manual page. List of tuples
168 # (source start file, name, description, authors, manual section).
169 descriptions = {
170 'calidns': 'A DNS recursor testing tool',
171 'dnsbulktest': 'A debugging tool for intermittent resolver failures',
172 'dnsgram': 'A debugging tool for intermittent resolver failures',
173 'dnspcap2protobuf': 'A tool to convert PCAPs of DNS traffic to PowerDNS Protobuf',
174 'dnsreplay': 'A PowerDNS nameserver debugging tool',
175 'dnsscan': 'List the amount of queries per qtype in a pcap',
176 'dnsscope': 'A PowerDNS nameserver debugging tool',
177 'dnstcpbench': 'tool to perform TCP benchmarking of nameservers',
178 'dnswasher': 'A PowerDNS nameserver debugging tool',
179 'dumresp': 'A dumb DNS responder',
180 'ixfrdist': 'An IXFR/AXFR-only server that re-distributes zones',
181 'ixplore': 'A tool that provides insights into IXFRs',
182 'nsec3dig': 'Show and validate NSEC3 proofs',
183 'pdns_control': 'Control the PowerDNS nameserver',
184 'pdns_notify': 'A simple DNS NOTIFY sender',
185 'pdns_server': 'The PowerDNS Authoritative Namserver',
186 'pdnsutil': 'PowerDNS record and DNSSEC command and control',
187 'saxfr': 'Perform AXFRs and show information about it',
188 'sdig': 'Perform a DNS query and show the results',
189 'zone2json': 'convert BIND zones to JSON',
190 'zone2ldap': 'convert zonefiles to ldif',
191 'zone2sql': 'convert BIND zones to SQL',
192 }
193 man_pages = []
194 for f in glob.glob('manpages/*.1.rst'):
195 srcname = '.'.join(f.split('.')[:-1])
196 destname = srcname.split('/')[-1][:-2]
197 man_pages.append((srcname, destname, descriptions.get(destname, ''),
198 [author], 1))
199
200 # -- Options for Texinfo output -------------------------------------------
201
202 # Grouping the document tree into Texinfo files. List of tuples
203 # (source start file, target name, title, author,
204 # dir menu entry, description, category)
205 #texinfo_documents = [
206 # (master_doc, 'PowerDNSRecursor', 'PowerDNS Recursor Documentation',
207 # author, 'PowerDNSRecursor', 'One line description of project.',
208 # 'Miscellaneous'),
209 #]
210
211
212
213 # -- Options for Epub output ----------------------------------------------
214
215 # Bibliographic Dublin Core info.
216 epub_title = project
217 epub_author = author
218 epub_publisher = author
219 epub_copyright = copyright
220
221 # The unique identifier of the text. This can be a ISBN number
222 # or the project homepage.
223 #
224 # epub_identifier = ''
225
226 # A unique identification for the text.
227 #
228 # epub_uid = ''
229
230 # A list of files that should not be packed into the epub file.
231 epub_exclude_files = ['search.html']