]>
Commit | Line | Data |
---|---|---|
a1e276e1 QY |
1 | # -*- coding: utf-8 -*- |
2 | # | |
3 | # FRR documentation build configuration file, created by | |
4 | # sphinx-quickstart on Tue Jan 31 16:00:52 2017. | |
5 | # | |
6 | # This file is execfile()d with the current directory set to its | |
7 | # containing dir. | |
8 | # | |
9 | # Note that not all possible configuration values are present in this | |
10 | # autogenerated file. | |
11 | # | |
12 | # All configuration values have a default; values that are commented out | |
13 | # serve to show the default. | |
14 | ||
15 | import sys | |
16 | import os | |
17 | import re | |
18 | ||
19 | # If extensions (or modules to document with autodoc) are in another directory, | |
20 | # add these directories to sys.path here. If the directory is relative to the | |
21 | # documentation root, use os.path.abspath to make it absolute, like shown here. | |
22 | #sys.path.insert(0, os.path.abspath('.')) | |
23 | ||
24 | # -- General configuration ------------------------------------------------ | |
25 | ||
26 | # If your documentation needs a minimal Sphinx version, state it here. | |
27 | needs_sphinx = '1.0' | |
28 | ||
29 | # prolog for various variable substitutions | |
30 | rst_prolog = '' | |
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 = ['sphinx.ext.todo'] | |
36 | ||
37 | # Add any paths that contain templates here, relative to this directory. | |
38 | templates_path = ['_templates'] | |
39 | ||
40 | # The suffix(es) of source filenames. | |
41 | # You can specify multiple suffix as a list of string: | |
42 | # source_suffix = ['.rst'] | |
43 | source_suffix = '.rst' | |
44 | ||
45 | # The encoding of source files. | |
46 | #source_encoding = 'utf-8-sig' | |
47 | ||
48 | # The master toctree document. | |
49 | master_doc = 'index' | |
50 | ||
51 | # General information about the project. | |
52 | project = u'FRR' | |
53 | copyright = u'2017, FRR' | |
aef62d25 | 54 | author = u'FRR authors' |
a1e276e1 QY |
55 | |
56 | # The version info for the project you're documenting, acts as replacement for | |
57 | # |version| and |release|, also used in various other places throughout the | |
58 | # built documents. | |
59 | ||
60 | # The short X.Y version. | |
61 | version = u'?.?' | |
62 | # The full version, including alpha/beta/rc tags. | |
63 | release = u'?.?-?' | |
64 | ||
65 | ||
66 | # ----------------------------------------------------------------------------- | |
67 | # Extract values from codebase for substitution into docs. | |
68 | # ----------------------------------------------------------------------------- | |
69 | ||
aef62d25 QY |
70 | # Various installation prefixes. Values are extracted from config.status. |
71 | # Reasonable defaults are set in case that file does not exist. | |
a1e276e1 QY |
72 | replace_vars = { |
73 | 'AUTHORS': author, | |
74 | 'COPYRIGHT_YEAR': '1999-2005', | |
aef62d25 | 75 | 'COPYRIGHT_STR': 'Copyright (c) 1999-2005', |
a1e276e1 QY |
76 | 'PACKAGE_NAME': project.lower(), |
77 | 'PACKAGE_TARNAME': project.lower(), | |
aef62d25 | 78 | 'PACKAGE_STRING': project.lower() + ' latest', |
a1e276e1 | 79 | 'PACKAGE_URL': 'https://frrouting.org/', |
aef62d25 QY |
80 | 'PACKAGE_VERSION': 'latest', |
81 | 'INSTALL_PREFIX_ETC': '/etc/frr', | |
82 | 'INSTALL_PREFIX_SBIN': '/usr/lib/frr', | |
83 | 'INSTALL_PREFIX_STATE': '/var/run/frr', | |
84 | 'INSTALL_PREFIX_MODULES': '/usr/lib/frr/modules', | |
85 | 'INSTALL_USER': 'frr', | |
86 | 'INSTALL_GROUP': 'frr', | |
87 | 'INSTALL_VTY_GROUP': 'frrvty', | |
a1e276e1 QY |
88 | 'GROUP': 'frr', |
89 | 'USER': 'frr', | |
90 | } | |
91 | ||
92 | # extract version information, installation location, other stuff we need to | |
93 | # use when building final documents | |
94 | val = re.compile('^S\["([^"]+)"\]="(.*)"$') | |
aef62d25 QY |
95 | try: |
96 | with open('../../config.status', 'r') as cfgstatus: | |
97 | for ln in cfgstatus.readlines(): | |
98 | m = val.match(ln) | |
99 | if not m or m.group(1) not in replace_vars.keys(): continue | |
100 | replace_vars[m.group(1)] = m.group(2) | |
101 | except IOError: | |
102 | # if config.status doesn't exist, just ignore it | |
103 | pass | |
a1e276e1 QY |
104 | |
105 | # manually fill out some of these we can't get from config.status | |
106 | replace_vars['COPYRIGHT_STR'] = "Copyright (c)" | |
6c749456 QY |
107 | replace_vars['COPYRIGHT_STR'] += ' {0}'.format(replace_vars['COPYRIGHT_YEAR']) |
108 | replace_vars['COPYRIGHT_STR'] += ' {0}'.format(replace_vars['AUTHORS']) | |
a1e276e1 QY |
109 | release = replace_vars['PACKAGE_VERSION'] |
110 | version = release.split('-')[0] | |
111 | ||
112 | # add substitutions to prolog | |
113 | for key, value in replace_vars.items(): | |
114 | rst_prolog += '.. |{0}| replace:: {1}\n'.format(key, value) | |
115 | ||
116 | ||
117 | # The language for content autogenerated by Sphinx. Refer to documentation | |
118 | # for a list of supported languages. | |
119 | # | |
120 | # This is also used if you do content translation via gettext catalogs. | |
121 | # Usually you set "language" from the command line for these cases. | |
122 | language = None | |
123 | ||
124 | # There are two options for replacing |today|: either, you set today to some | |
125 | # non-false value, then it is used: | |
126 | #today = '' | |
127 | # Else, today_fmt is used as the format for a strftime call. | |
128 | #today_fmt = '%B %d, %Y' | |
129 | ||
130 | # List of patterns, relative to source directory, that match files and | |
131 | # directories to ignore when looking for source files. | |
749461a6 | 132 | exclude_patterns = ['_build', 'common-options.rst', 'epilogue.rst', 'defines.rst', 'bfd-options.rst'] |
a1e276e1 QY |
133 | |
134 | # The reST default role (used for this markup: `text`) to use for all | |
135 | # documents. | |
136 | #default_role = None | |
137 | ||
138 | # If true, '()' will be appended to :func: etc. cross-reference text. | |
139 | #add_function_parentheses = True | |
140 | ||
141 | # If true, the current module name will be prepended to all description | |
142 | # unit titles (such as .. function::). | |
143 | #add_module_names = True | |
144 | ||
145 | # If true, sectionauthor and moduleauthor directives will be shown in the | |
146 | # output. They are ignored by default. | |
147 | #show_authors = False | |
148 | ||
149 | # The name of the Pygments (syntax highlighting) style to use. | |
150 | pygments_style = 'sphinx' | |
151 | ||
152 | # A list of ignored prefixes for module index sorting. | |
153 | #modindex_common_prefix = [] | |
154 | ||
155 | # If true, keep warnings as "system message" paragraphs in the built documents. | |
156 | #keep_warnings = False | |
157 | ||
158 | # If true, `todo` and `todoList` produce output, else they produce nothing. | |
159 | todo_include_todos = True | |
160 | ||
161 | ||
162 | # -- Options for HTML output ---------------------------------------------- | |
163 | ||
164 | # The theme to use for HTML and HTML Help pages. See the documentation for | |
165 | # a list of builtin themes. | |
37ba370b | 166 | html_theme = 'default' |
a1e276e1 QY |
167 | |
168 | # Theme options are theme-specific and customize the look and feel of a theme | |
169 | # further. For a list of options available for each theme, see the | |
170 | # documentation. | |
171 | #html_theme_options = {} | |
172 | ||
173 | # Add any paths that contain custom themes here, relative to this directory. | |
174 | #html_theme_path = [] | |
175 | ||
176 | # The name for this set of Sphinx documents. If None, it defaults to | |
177 | # "<project> v<release> documentation". | |
178 | #html_title = None | |
179 | ||
180 | # A shorter title for the navigation bar. Default is the same as html_title. | |
181 | #html_short_title = None | |
182 | ||
183 | # The name of an image file (relative to this directory) to place at the top | |
184 | # of the sidebar. | |
185 | #html_logo = None | |
186 | ||
187 | # The name of an image file (within the static path) to use as favicon of the | |
188 | # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 | |
189 | # pixels large. | |
190 | #html_favicon = None | |
191 | ||
192 | # Add any paths that contain custom static files (such as style sheets) here, | |
193 | # relative to this directory. They are copied after the builtin static files, | |
194 | # so a file named "default.css" will overwrite the builtin "default.css". | |
195 | html_static_path = ['_static'] | |
196 | ||
197 | # Add any extra paths that contain custom files (such as robots.txt or | |
198 | # .htaccess) here, relative to this directory. These files are copied | |
199 | # directly to the root of the documentation. | |
200 | #html_extra_path = [] | |
201 | ||
202 | # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, | |
203 | # using the given strftime format. | |
204 | #html_last_updated_fmt = '%b %d, %Y' | |
205 | ||
206 | # If true, SmartyPants will be used to convert quotes and dashes to | |
207 | # typographically correct entities. | |
208 | #html_use_smartypants = True | |
209 | ||
210 | # Custom sidebar templates, maps document names to template names. | |
211 | #html_sidebars = {} | |
212 | ||
213 | # Additional templates that should be rendered to pages, maps page names to | |
214 | # template names. | |
215 | #html_additional_pages = {} | |
216 | ||
217 | # If false, no module index is generated. | |
218 | #html_domain_indices = True | |
219 | ||
220 | # If false, no index is generated. | |
221 | #html_use_index = True | |
222 | ||
223 | # If true, the index is split into individual pages for each letter. | |
224 | #html_split_index = False | |
225 | ||
226 | # If true, links to the reST sources are added to the pages. | |
227 | #html_show_sourcelink = True | |
228 | ||
229 | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. | |
230 | #html_show_sphinx = True | |
231 | ||
232 | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. | |
233 | #html_show_copyright = True | |
234 | ||
235 | # If true, an OpenSearch description file will be output, and all pages will | |
236 | # contain a <link> tag referring to it. The value of this option must be the | |
237 | # base URL from which the finished HTML is served. | |
238 | #html_use_opensearch = '' | |
239 | ||
240 | # This is the file name suffix for HTML files (e.g. ".xhtml"). | |
241 | #html_file_suffix = None | |
242 | ||
243 | # Language to be used for generating the HTML full-text search index. | |
244 | # Sphinx supports the following languages: | |
245 | # 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' | |
246 | # 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' | |
247 | #html_search_language = 'en' | |
248 | ||
249 | # A dictionary with options for the search language support, empty by default. | |
250 | # Now only 'ja' uses this config value | |
251 | #html_search_options = {'type': 'default'} | |
252 | ||
253 | # The name of a javascript file (relative to the configuration directory) that | |
254 | # implements a search results scorer. If empty, the default will be used. | |
255 | #html_search_scorer = 'scorer.js' | |
256 | ||
257 | # Output file base name for HTML help builder. | |
258 | htmlhelp_basename = 'FRRdoc' | |
259 | ||
260 | # -- Options for LaTeX output --------------------------------------------- | |
261 | ||
262 | latex_elements = { | |
263 | # The paper size ('letterpaper' or 'a4paper'). | |
264 | #'papersize': 'letterpaper', | |
265 | ||
266 | # The font size ('10pt', '11pt' or '12pt'). | |
267 | #'pointsize': '10pt', | |
268 | ||
269 | # Additional stuff for the LaTeX preamble. | |
270 | #'preamble': '', | |
271 | ||
272 | # Latex figure (float) alignment | |
273 | #'figure_align': 'htbp', | |
274 | } | |
275 | ||
276 | # Grouping the document tree into LaTeX files. List of tuples | |
277 | # (source start file, target name, title, | |
278 | # author, documentclass [howto, manual, or own class]). | |
279 | latex_documents = [ | |
280 | (master_doc, 'FRR.tex', u'FRR User Manual', | |
281 | u'FRR', 'manual'), | |
282 | ] | |
283 | ||
284 | # The name of an image file (relative to this directory) to place at the top of | |
285 | # the title page. | |
286 | #latex_logo = None | |
287 | ||
288 | # For "manual" documents, if this is true, then toplevel headings are parts, | |
289 | # not chapters. | |
290 | #latex_use_parts = False | |
291 | ||
292 | # If true, show page references after internal links. | |
293 | #latex_show_pagerefs = False | |
294 | ||
295 | # If true, show URL addresses after external links. | |
296 | #latex_show_urls = False | |
297 | ||
298 | # Documents to append as an appendix to all manuals. | |
299 | #latex_appendices = [] | |
300 | ||
301 | # If false, no module index is generated. | |
302 | #latex_domain_indices = True | |
303 | ||
304 | ||
305 | # -- Options for manual page output --------------------------------------- | |
306 | ||
307 | # One entry per manual page. List of tuples | |
308 | # (source start file, name, description, authors, manual section). | |
309 | ||
310 | # If true, show URL addresses after external links. | |
311 | #man_show_urls = False | |
312 | ||
6c749456 | 313 | fwfrr = "{0} routing engine for use with FRRouting." |
a1e276e1 QY |
314 | |
315 | man_pages = [ | |
316 | ('bgpd', 'bgpd', fwfrr.format("a BGPv4, BGPv4+, BGPv4- "), [], 8), | |
317 | ('eigrpd', 'eigrpd', fwfrr.format("an EIGRP "), [], 8), | |
318 | ('ospf6d', 'ospf6d', fwfrr.format("an OSPFv3 "), [], 8), | |
319 | ('ospfd', 'ospfd', fwfrr.format("an OSPFv2 "), [], 8), | |
320 | ('isisd', 'isisd', fwfrr.format("an IS-IS "), [], 8), | |
321 | ('ospfclient', 'ospfclient', 'an example ospf-api client', [], 8), | |
322 | ('ldpd', 'ldpd', fwfrr.format("an LDP "), [], 8), | |
323 | ('nhrpd', 'nhrpd', fwfrr.format("a Next Hop Routing Protocol "), [], 8), | |
324 | ('pimd', 'pimd', fwfrr.format("a PIM "), [], 8), | |
a6c93cb2 | 325 | ('pbrd', 'pbrd', fwfrr.format("a PBR "), [], 8), |
a3488351 | 326 | ('sharpd', 'sharpd', fwfrr.format("a SHARP "), [], 8), |
614aa5c1 | 327 | ('staticd', 'staticd', fwfrr.format("a static route manager "), [], 8), |
a9757448 | 328 | ('mtracebis', 'mtracebis', "a multicast trace client", [], 8), |
a1e276e1 QY |
329 | ('ripd', 'ripd', fwfrr.format("a RIP "), [], 8), |
330 | ('ripngd', 'ripngd', fwfrr.format("a RIPNG "), [], 8), | |
331 | ('zebra', 'zebra', 'a routing manager for use with associated FRRouting components.', [], 8), | |
332 | ('watchfrr', 'watchfrr', 'a program to monitor the status of FRRouting daemons', [], 8), | |
333 | ('vtysh', 'vtysh', 'an integrated shell for FRRouting.', [], 1), | |
334 | ('frr', 'frr', 'a systemd interaction script', [], 1), | |
c44032c1 | 335 | ('bfdd', 'bfdd', fwfrr.format("a bfd"), [], 8), |
f3c7b99d | 336 | ('fabricd', 'fabricd', fwfrr.format("an OpenFabric "), [], 8), |
4edac1f7 | 337 | ('vrrpd', 'vrrpd', fwfrr.format("a VRRP"), [], 8), |
a1e276e1 QY |
338 | ] |
339 | ||
340 | # -- Options for Texinfo output ------------------------------------------- | |
341 | ||
342 | # Grouping the document tree into Texinfo files. List of tuples | |
343 | # (source start file, target name, title, author, | |
344 | # dir menu entry, description, category) | |
345 | ||
346 | # Documents to append as an appendix to all manuals. | |
347 | #texinfo_appendices = [] | |
348 | ||
349 | # If false, no module index is generated. | |
350 | #texinfo_domain_indices = True | |
351 | ||
352 | # How to display URL addresses: 'footnote', 'no', or 'inline'. | |
353 | #texinfo_show_urls = 'footnote' | |
354 | ||
355 | # If true, do not generate a @detailmenu in the "Top" node's menu. | |
356 | #texinfo_no_detailmenu = False | |
357 | ||
358 | # custom extensions here |