blob: 26ccb3f0f7c0e47eb581d6412c9d3e9c18b39203 [file] [log] [blame]
John DeNisco06dcd452018-07-26 12:45:10 -04001# -*- 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/stable/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('.'))
18
Nathan Skrzypczak9ad39c02021-08-19 11:38:06 +020019import subprocess
20
John DeNisco06dcd452018-07-26 12:45:10 -040021# -- Project information -----------------------------------------------------
22
John DeNiscoc96d6182019-11-06 10:58:28 -080023project = u'The Vector Packet Processor'
Jakub Grajciare74c04f2021-01-04 11:28:33 +010024copyright = u'2018-2022, Linux Foundation'
Dave Wallaced1706812021-08-12 18:36:02 -040025author = u'FD.io VPP Community'
John DeNisco06dcd452018-07-26 12:45:10 -040026
27# The short X.Y version
Nathan Skrzypczak9ad39c02021-08-19 11:38:06 +020028version = subprocess.run(["git", "describe"], stdout=subprocess.PIPE, text=True).stdout
John DeNisco06dcd452018-07-26 12:45:10 -040029# The full version, including alpha/beta/rc tags
Nathan Skrzypczak9ad39c02021-08-19 11:38:06 +020030release = subprocess.run(["git", "describe", "--long"], stdout=subprocess.PIPE, text=True).stdout
John DeNisco06dcd452018-07-26 12:45:10 -040031
32
33# -- General configuration ---------------------------------------------------
34
35# If your documentation needs a minimal Sphinx version, state it here.
36#
37# needs_sphinx = '1.0'
38
39# Add any Sphinx extension module names here, as strings. They can be
40# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
41# ones.
42extensions = [
43 'sphinx.ext.autodoc',
44 'sphinx.ext.viewcode',
Paul Vinciguerraa26f5442020-03-11 13:28:27 -040045 'recommonmark',
46 'sphinxcontrib.spelling']
John DeNisco06dcd452018-07-26 12:45:10 -040047
Paul Vinciguerra340c15c2019-11-05 15:34:36 -050048spelling_word_list_filename = 'spelling_wordlist.txt'
Nathan Skrzypczak9ad39c02021-08-19 11:38:06 +020049
50# do not spell check those files
51spelling_exclude_patterns = ['aboutvpp/releasenotes/*']
52
John DeNisco06dcd452018-07-26 12:45:10 -040053# Add any paths that contain templates here, relative to this directory.
54templates_path = ['_templates']
55
56# The suffix(es) of source filenames.
57# You can specify multiple suffix as a list of string:
58#
jdenisco8a6e1b12019-05-13 12:40:21 -040059source_suffix = {
60 '.rst': 'restructuredtext',
61 '.md': 'markdown'
Paul Vinciguerra340c15c2019-11-05 15:34:36 -050062}
jdenisco8a6e1b12019-05-13 12:40:21 -040063
John DeNisco06dcd452018-07-26 12:45:10 -040064# The master toctree document.
65master_doc = 'index'
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.
72language = 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 pattern also affects html_static_path and html_extra_path .
Nathan Skrzypczak9ad39c02021-08-19 11:38:06 +020077exclude_patterns = ['Thumbs.db', '.DS_Store', '_scripts', 'venv', '_generated']
John DeNisco06dcd452018-07-26 12:45:10 -040078
79# The name of the Pygments (syntax highlighting) style to use.
80pygments_style = 'default'
81
82
83# -- Options for HTML output -------------------------------------------------
84
85# The theme to use for HTML and HTML Help pages. See the documentation for
86# a list of builtin themes.
87#
88
89# import sphinx_theme
90
Nathan Skrzypczakae560972021-10-29 12:05:29 +020091templates_path = ['_templates']
92
John DeNisco06dcd452018-07-26 12:45:10 -040093html_theme = "sphinx_rtd_theme"
John DeNisco06dcd452018-07-26 12:45:10 -040094
95html_theme_path = ["_themes", ]
John DeNisco06dcd452018-07-26 12:45:10 -040096
97# The name of an image file (relative to this directory) to place at the top
98# of the sidebar.
99html_logo = '_static/fd-io_red_white.png'
100
101# Theme options are theme-specific and customize the look and feel of a theme
102# further. For a list of options available for each theme, see the
103# documentation.
104#
105# html_theme_options = {}
106
107# Add any paths that contain custom static files (such as style sheets) here,
108# relative to this directory. They are copied after the builtin static files,
109# so a file named "default.css" will overwrite the builtin "default.css".
110html_static_path = ['_static']
111
Paul Vinciguerra340c15c2019-11-05 15:34:36 -0500112
John DeNisco06dcd452018-07-26 12:45:10 -0400113def setup(app):
Dave Wallaced1706812021-08-12 18:36:02 -0400114 app.add_css_file('css/rules.css')
John DeNisco06dcd452018-07-26 12:45:10 -0400115
116# Custom sidebar templates, must be a dictionary that maps document names
117# to template names.
118#
119# The default sidebars (for documents that don't match any pattern) are
120# defined by theme itself. Builtin themes are using these templates by
121# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
122# 'searchbox.html']``.
123#
124# html_sidebars = {}
125
126
127# -- Options for HTMLHelp output ---------------------------------------------
128
129# Output file base name for HTML help builder.
130htmlhelp_basename = 'Vector Packet Processor'
131
132
133# -- Options for LaTeX output ------------------------------------------------
134
135latex_elements = {
136 # The paper size ('letterpaper' or 'a4paper').
137 #
138 # 'papersize': 'letterpaper',
139
140 # The font size ('10pt', '11pt' or '12pt').
141 #
142 # 'pointsize': '10pt',
143
144 # Additional stuff for the LaTeX preamble.
145 #
146 # 'preamble': '',
147
148 # Latex figure (float) alignment
149 #
150 # 'figure_align': 'htbp',
151}
152
153# Grouping the document tree into LaTeX files. List of tuples
154# (source start file, target name, title,
155# author, documentclass [howto, manual, or own class]).
156latex_documents = [
Paul Vinciguerra340c15c2019-11-05 15:34:36 -0500157 (master_doc, 'Vector Packet Processor.tex',
158 u'Vector Packet Processor Documentation',
John DeNisco06dcd452018-07-26 12:45:10 -0400159 u'John DeNisco', 'manual'),
160]
161
162
163# -- Options for manual page output ------------------------------------------
164
165# One entry per manual page. List of tuples
166# (source start file, name, description, authors, manual section).
167man_pages = [
Paul Vinciguerra340c15c2019-11-05 15:34:36 -0500168 (master_doc, 'Vector Packet Processor',
169 u'Vector Packet Processor Documentation',
John DeNisco06dcd452018-07-26 12:45:10 -0400170 [author], 1)
171]
172
173
174# -- Options for Texinfo output ----------------------------------------------
175
176# Grouping the document tree into Texinfo files. List of tuples
177# (source start file, target name, title, author,
178# dir menu entry, description, category)
179texinfo_documents = [
Paul Vinciguerra340c15c2019-11-05 15:34:36 -0500180 (master_doc, 'Vector Packet Processor',
181 u'Vector Packet Processor Documentation',
John DeNisco06dcd452018-07-26 12:45:10 -0400182 author, 'Vector Packet Processor', 'One line description of project.',
183 'Miscellaneous'),
184]
185
186
187# -- Extension configuration -------------------------------------------------