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