blob: f05337e1daf3212297f9b8937b219249fbaccecd [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
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020023project = "The Vector Packet Processor"
24copyright = "2018-2022, Linux Foundation"
25author = "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
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020030release = subprocess.run(
31 ["git", "describe", "--long"], stdout=subprocess.PIPE, text=True
32).stdout
John DeNisco06dcd452018-07-26 12:45:10 -040033
34
35# -- General configuration ---------------------------------------------------
36
37# If your documentation needs a minimal Sphinx version, state it here.
38#
39# needs_sphinx = '1.0'
40
41# Add any Sphinx extension module names here, as strings. They can be
42# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
43# ones.
44extensions = [
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020045 "sphinx.ext.autodoc",
46 "sphinx.ext.viewcode",
47 "recommonmark",
48 "sphinxcontrib.spelling",
49]
John DeNisco06dcd452018-07-26 12:45:10 -040050
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020051spelling_word_list_filename = "spelling_wordlist.txt"
Nathan Skrzypczak9ad39c02021-08-19 11:38:06 +020052
53# do not spell check those files
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020054spelling_exclude_patterns = ["aboutvpp/releasenotes/*"]
Nathan Skrzypczak9ad39c02021-08-19 11:38:06 +020055
John DeNisco06dcd452018-07-26 12:45:10 -040056# Add any paths that contain templates here, relative to this directory.
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020057templates_path = ["_templates"]
John DeNisco06dcd452018-07-26 12:45:10 -040058
59# The suffix(es) of source filenames.
60# You can specify multiple suffix as a list of string:
61#
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020062source_suffix = {".rst": "restructuredtext", ".md": "markdown"}
jdenisco8a6e1b12019-05-13 12:40:21 -040063
John DeNisco06dcd452018-07-26 12:45:10 -040064# The master toctree document.
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020065master_doc = "index"
John DeNisco06dcd452018-07-26 12:45:10 -040066
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.
Dave Wallace7b8b4652023-08-15 19:05:26 -040072language = "English"
John DeNisco06dcd452018-07-26 12:45:10 -040073
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 .
Klement Sekerad9b0c6f2022-04-26 19:02:15 +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.
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020080pygments_style = "default"
John DeNisco06dcd452018-07-26 12:45:10 -040081
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
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020091templates_path = ["_templates"]
Nathan Skrzypczakae560972021-10-29 12:05:29 +020092
John DeNisco06dcd452018-07-26 12:45:10 -040093html_theme = "sphinx_rtd_theme"
John DeNisco06dcd452018-07-26 12:45:10 -040094
Klement Sekerad9b0c6f2022-04-26 19:02:15 +020095html_theme_path = [
96 "_themes",
97]
John DeNisco06dcd452018-07-26 12:45:10 -040098
99# The name of an image file (relative to this directory) to place at the top
100# of the sidebar.
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200101html_logo = "_static/fd-io_red_white.png"
John DeNisco06dcd452018-07-26 12:45:10 -0400102
103# Theme options are theme-specific and customize the look and feel of a theme
104# further. For a list of options available for each theme, see the
105# documentation.
106#
107# html_theme_options = {}
108
109# Add any paths that contain custom static files (such as style sheets) here,
110# relative to this directory. They are copied after the builtin static files,
111# so a file named "default.css" will overwrite the builtin "default.css".
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200112html_static_path = ["_static"]
John DeNisco06dcd452018-07-26 12:45:10 -0400113
Paul Vinciguerra340c15c2019-11-05 15:34:36 -0500114
John DeNisco06dcd452018-07-26 12:45:10 -0400115def setup(app):
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200116 app.add_css_file("css/rules.css")
117
John DeNisco06dcd452018-07-26 12:45:10 -0400118
119# Custom sidebar templates, must be a dictionary that maps document names
120# to template names.
121#
122# The default sidebars (for documents that don't match any pattern) are
123# defined by theme itself. Builtin themes are using these templates by
124# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
125# 'searchbox.html']``.
126#
127# html_sidebars = {}
128
129
130# -- Options for HTMLHelp output ---------------------------------------------
131
132# Output file base name for HTML help builder.
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200133htmlhelp_basename = "Vector Packet Processor"
John DeNisco06dcd452018-07-26 12:45:10 -0400134
135
136# -- Options for LaTeX output ------------------------------------------------
137
138latex_elements = {
139 # The paper size ('letterpaper' or 'a4paper').
140 #
141 # 'papersize': 'letterpaper',
John DeNisco06dcd452018-07-26 12:45:10 -0400142 # The font size ('10pt', '11pt' or '12pt').
143 #
144 # 'pointsize': '10pt',
John DeNisco06dcd452018-07-26 12:45:10 -0400145 # Additional stuff for the LaTeX preamble.
146 #
147 # 'preamble': '',
John DeNisco06dcd452018-07-26 12:45:10 -0400148 # 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 = [
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200157 (
158 master_doc,
159 "Vector Packet Processor.tex",
160 "Vector Packet Processor Documentation",
161 "John DeNisco",
162 "manual",
163 ),
John DeNisco06dcd452018-07-26 12:45:10 -0400164]
165
166
167# -- Options for manual page output ------------------------------------------
168
169# One entry per manual page. List of tuples
170# (source start file, name, description, authors, manual section).
171man_pages = [
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200172 (
173 master_doc,
174 "Vector Packet Processor",
175 "Vector Packet Processor Documentation",
176 [author],
177 1,
178 )
John DeNisco06dcd452018-07-26 12:45:10 -0400179]
180
181
182# -- Options for Texinfo output ----------------------------------------------
183
184# Grouping the document tree into Texinfo files. List of tuples
185# (source start file, target name, title, author,
186# dir menu entry, description, category)
187texinfo_documents = [
Klement Sekerad9b0c6f2022-04-26 19:02:15 +0200188 (
189 master_doc,
190 "Vector Packet Processor",
191 "Vector Packet Processor Documentation",
192 author,
193 "Vector Packet Processor",
194 "One line description of project.",
195 "Miscellaneous",
196 ),
John DeNisco06dcd452018-07-26 12:45:10 -0400197]
198
199
200# -- Extension configuration -------------------------------------------------