]> git.ipfire.org Git - thirdparty/pdns.git/blob - docs/conf.py
Merge pull request #7677 from rgacogne/dnsdist-logging-facility
[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-2019, 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 'maxlistdepth' : '8',
139 # The paper size ('letterpaper' or 'a4paper').
140 #
141 'papersize': 'a4paper',
142
143 # The font size ('10pt', '11pt' or '12pt').
144 #
145 # 'pointsize': '10pt',
146
147 # Additional stuff for the LaTeX preamble.
148 #
149 # 'preamble': '',
150
151 # Latex figure (float) alignment
152 #
153 # 'figure_align': 'htbp',
154 }
155
156 # Grouping the document tree into LaTeX files. List of tuples
157 # (source start file, target name, title,
158 # author, documentclass [howto, manual, or own class]).
159 latex_documents = [
160 (master_doc, 'PowerDNS-Authoritative.tex', 'PowerDNS Authoritative Server Documentation',
161 'PowerDNS.COM BV', 'manual'),
162 ]
163
164 latex_logo = 'common/powerdns-logo-500px.png'
165
166 # -- Options for manual page output ---------------------------------------
167
168 # One entry per manual page. List of tuples
169 # (source start file, name, description, authors, manual section).
170 descriptions = {
171 'calidns': 'A DNS recursor testing tool',
172 'dnsbulktest': 'A debugging tool for intermittent resolver failures',
173 'dnsgram': 'A debugging tool for intermittent resolver failures',
174 'dnspcap2calidns': 'A tool to convert PCAPs of DNS traffic to calidns input',
175 'dnspcap2protobuf': 'A tool to convert PCAPs of DNS traffic to PowerDNS Protobuf',
176 'dnsreplay': 'A PowerDNS nameserver debugging tool',
177 'dnsscan': 'List the amount of queries per qtype in a pcap',
178 'dnsscope': 'A PowerDNS nameserver debugging tool',
179 'dnstcpbench': 'tool to perform TCP benchmarking of nameservers',
180 'dnswasher': 'A PowerDNS nameserver debugging tool',
181 'dumresp': 'A dumb DNS responder',
182 'ixfrdist': 'An IXFR/AXFR-only server that re-distributes zones',
183 'ixplore': 'A tool that provides insights into IXFRs',
184 'nsec3dig': 'Show and validate NSEC3 proofs',
185 'pdns_control': 'Control the PowerDNS nameserver',
186 'pdns_notify': 'A simple DNS NOTIFY sender',
187 'pdns_server': 'The PowerDNS Authoritative Namserver',
188 'pdnsutil': 'PowerDNS record and DNSSEC command and control',
189 'saxfr': 'Perform AXFRs and show information about it',
190 'sdig': 'Perform a DNS query and show the results',
191 'zone2json': 'convert BIND zones to JSON',
192 'zone2ldap': 'convert zonefiles to ldif',
193 'zone2sql': 'convert BIND zones to SQL',
194 }
195 man_pages = []
196 for f in glob.glob('manpages/*.1.rst'):
197 srcname = '.'.join(f.split('.')[:-1])
198 destname = srcname.split('/')[-1][:-2]
199 man_pages.append((srcname, destname, descriptions.get(destname, ''),
200 [author], 1))
201 man_pages.append(('manpages/ixfrdist.yml.5', 'ixfrdist.yml',
202 'The ixfrdist configuration file', [author], 5))
203 # -- Options for Texinfo output -------------------------------------------
204
205 # Grouping the document tree into Texinfo files. List of tuples
206 # (source start file, target name, title, author,
207 # dir menu entry, description, category)
208 #texinfo_documents = [
209 # (master_doc, 'PowerDNSRecursor', 'PowerDNS Recursor Documentation',
210 # author, 'PowerDNSRecursor', 'One line description of project.',
211 # 'Miscellaneous'),
212 #]
213
214
215
216 # -- Options for Epub output ----------------------------------------------
217
218 # Bibliographic Dublin Core info.
219 epub_title = project
220 epub_author = author
221 epub_publisher = author
222 epub_copyright = copyright
223
224 # The unique identifier of the text. This can be a ISBN number
225 # or the project homepage.
226 #
227 # epub_identifier = ''
228
229 # A unique identification for the text.
230 #
231 # epub_uid = ''
232
233 # A list of files that should not be packed into the epub file.
234 epub_exclude_files = ['search.html']