xref: /qemu/docs/conf.py (revision cd231e13bdcb8d686b014bef940c7d19c6f1e769)
15329da6aSPeter Maydell# -*- coding: utf-8 -*-
25329da6aSPeter Maydell#
35329da6aSPeter Maydell# QEMU documentation build configuration file, created by
45329da6aSPeter Maydell# sphinx-quickstart on Thu Jan 31 16:40:14 2019.
55329da6aSPeter Maydell#
6f8cf7147SPeter Maydell# This config file can be used in one of two ways:
7f8cf7147SPeter Maydell# (1) as a common config file which is included by the conf.py
8f8cf7147SPeter Maydell# for each of QEMU's manuals: in this case sphinx-build is run multiple
9f8cf7147SPeter Maydell# times, once per subdirectory.
10f8cf7147SPeter Maydell# (2) as a top level conf file which will result in building all
11f8cf7147SPeter Maydell# the manuals into a single document: in this case sphinx-build is
12f8cf7147SPeter Maydell# run once, on the top-level docs directory.
13f8cf7147SPeter Maydell#
14f8cf7147SPeter Maydell# QEMU's makefiles take option (1), which allows us to install
15f8cf7147SPeter Maydell# only the ones the user cares about (in particular we don't want
16f8cf7147SPeter Maydell# to ship the 'devel' manual to end-users).
17f8cf7147SPeter Maydell# Third-party sites such as readthedocs.org will take option (2).
18f8cf7147SPeter Maydell#
19f8cf7147SPeter Maydell#
205329da6aSPeter Maydell# This file is execfile()d with the current directory set to its
215329da6aSPeter Maydell# containing dir.
225329da6aSPeter Maydell#
235329da6aSPeter Maydell# Note that not all possible configuration values are present in this
245329da6aSPeter Maydell# autogenerated file.
255329da6aSPeter Maydell#
265329da6aSPeter Maydell# All configuration values have a default; values that are commented out
275329da6aSPeter Maydell# serve to show the default.
285329da6aSPeter Maydell
29f8cf7147SPeter Maydellimport os
30f8cf7147SPeter Maydellimport sys
31f8cf7147SPeter Maydell
32f8cf7147SPeter Maydell# The per-manual conf.py will set qemu_docdir for a single-manual build;
33f8cf7147SPeter Maydell# otherwise set it here if this is an entire-manual-set build.
34f8cf7147SPeter Maydell# This is always the absolute path of the docs/ directory in the source tree.
35f8cf7147SPeter Maydelltry:
36f8cf7147SPeter Maydell    qemu_docdir
37f8cf7147SPeter Maydellexcept NameError:
38f8cf7147SPeter Maydell    qemu_docdir = os.path.abspath(".")
39f8cf7147SPeter Maydell
405329da6aSPeter Maydell# If extensions (or modules to document with autodoc) are in another directory,
415329da6aSPeter Maydell# add these directories to sys.path here. If the directory is relative to the
42f8cf7147SPeter Maydell# documentation root, use an absolute path starting from qemu_docdir.
435329da6aSPeter Maydell#
44*cd231e13SJohn Snowsys.path.insert(0, os.path.join(qemu_docdir, "sphinx"))
455329da6aSPeter Maydell
465329da6aSPeter Maydell
475329da6aSPeter Maydell# -- General configuration ------------------------------------------------
485329da6aSPeter Maydell
495329da6aSPeter Maydell# If your documentation needs a minimal Sphinx version, state it here.
505329da6aSPeter Maydell#
514fad3864SPeter Maydell# 1.3 is where the 'alabaster' theme was shipped with Sphinx.
524fad3864SPeter Maydellneeds_sphinx = '1.3'
535329da6aSPeter Maydell
545329da6aSPeter Maydell# Add any Sphinx extension module names here, as strings. They can be
555329da6aSPeter Maydell# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
565329da6aSPeter Maydell# ones.
57*cd231e13SJohn Snowextensions = ['qmp_lexer']
585329da6aSPeter Maydell
595329da6aSPeter Maydell# Add any paths that contain templates here, relative to this directory.
605329da6aSPeter Maydelltemplates_path = ['_templates']
615329da6aSPeter Maydell
625329da6aSPeter Maydell# The suffix(es) of source filenames.
635329da6aSPeter Maydell# You can specify multiple suffix as a list of string:
645329da6aSPeter Maydell#
655329da6aSPeter Maydell# source_suffix = ['.rst', '.md']
665329da6aSPeter Maydellsource_suffix = '.rst'
675329da6aSPeter Maydell
685329da6aSPeter Maydell# The master toctree document.
695329da6aSPeter Maydellmaster_doc = 'index'
705329da6aSPeter Maydell
715329da6aSPeter Maydell# General information about the project.
725329da6aSPeter Maydellproject = u'QEMU'
735329da6aSPeter Maydellcopyright = u'2019, The QEMU Project Developers'
745329da6aSPeter Maydellauthor = u'The QEMU Project Developers'
755329da6aSPeter Maydell
765329da6aSPeter Maydell# The version info for the project you're documenting, acts as replacement for
775329da6aSPeter Maydell# |version| and |release|, also used in various other places throughout the
785329da6aSPeter Maydell# built documents.
796038f5fcSPeter Maydell
806038f5fcSPeter Maydell# Extract this information from the VERSION file, for the benefit of
816038f5fcSPeter Maydell# standalone Sphinx runs as used by readthedocs.org. Builds run from
826038f5fcSPeter Maydell# the Makefile will pass version and release on the sphinx-build
836038f5fcSPeter Maydell# command line, which override this.
846038f5fcSPeter Maydelltry:
856038f5fcSPeter Maydell    extracted_version = None
866038f5fcSPeter Maydell    with open(os.path.join(qemu_docdir, '../VERSION')) as f:
876038f5fcSPeter Maydell        extracted_version = f.readline().strip()
886038f5fcSPeter Maydellexcept:
896038f5fcSPeter Maydell    pass
906038f5fcSPeter Maydellfinally:
916038f5fcSPeter Maydell    if extracted_version:
926038f5fcSPeter Maydell        version = release = extracted_version
936038f5fcSPeter Maydell    else:
946038f5fcSPeter Maydell        version = release = "unknown version"
955329da6aSPeter Maydell
965329da6aSPeter Maydell# The language for content autogenerated by Sphinx. Refer to documentation
975329da6aSPeter Maydell# for a list of supported languages.
985329da6aSPeter Maydell#
995329da6aSPeter Maydell# This is also used if you do content translation via gettext catalogs.
1005329da6aSPeter Maydell# Usually you set "language" from the command line for these cases.
1015329da6aSPeter Maydelllanguage = None
1025329da6aSPeter Maydell
1035329da6aSPeter Maydell# List of patterns, relative to source directory, that match files and
1045329da6aSPeter Maydell# directories to ignore when looking for source files.
1055329da6aSPeter Maydell# This patterns also effect to html_static_path and html_extra_path
1065329da6aSPeter Maydellexclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
1075329da6aSPeter Maydell
1085329da6aSPeter Maydell# The name of the Pygments (syntax highlighting) style to use.
1095329da6aSPeter Maydellpygments_style = 'sphinx'
1105329da6aSPeter Maydell
1115329da6aSPeter Maydell# If true, `todo` and `todoList` produce output, else they produce nothing.
1125329da6aSPeter Maydelltodo_include_todos = False
1135329da6aSPeter Maydell
114e250e867SPeter Maydell# Sphinx defaults to warning about use of :option: for options not defined
115e250e867SPeter Maydell# with "option::" in the document being processed. Turn that off.
116e250e867SPeter Maydellsuppress_warnings = ["ref.option"]
1175329da6aSPeter Maydell
1185329da6aSPeter Maydell# -- Options for HTML output ----------------------------------------------
1195329da6aSPeter Maydell
1205329da6aSPeter Maydell# The theme to use for HTML and HTML Help pages.  See the documentation for
1215329da6aSPeter Maydell# a list of builtin themes.
1225329da6aSPeter Maydell#
1235329da6aSPeter Maydellhtml_theme = 'alabaster'
1245329da6aSPeter Maydell
1255329da6aSPeter Maydell# Theme options are theme-specific and customize the look and feel of a theme
1265329da6aSPeter Maydell# further.  For a list of options available for each theme, see the
1275329da6aSPeter Maydell# documentation.
128f8cf7147SPeter Maydell# We initialize this to empty here, so the per-manual conf.py can just
129f8cf7147SPeter Maydell# add individual key/value entries.
130f8cf7147SPeter Maydellhtml_theme_options = {
131f8cf7147SPeter Maydell}
1325329da6aSPeter Maydell
1335329da6aSPeter Maydell# Add any paths that contain custom static files (such as style sheets) here,
1345329da6aSPeter Maydell# relative to this directory. They are copied after the builtin static files,
1355329da6aSPeter Maydell# so a file named "default.css" will overwrite the builtin "default.css".
13607fd6563SPeter Maydell# QEMU doesn't yet have any static files, so comment this out so we don't
13707fd6563SPeter Maydell# get a warning about a missing directory.
13807fd6563SPeter Maydell# If we do ever add this then it would probably be better to call the
13907fd6563SPeter Maydell# subdirectory sphinx_static, as the Linux kernel does.
14007fd6563SPeter Maydell# html_static_path = ['_static']
1415329da6aSPeter Maydell
1425329da6aSPeter Maydell# Custom sidebar templates, must be a dictionary that maps document names
1435329da6aSPeter Maydell# to template names.
1445329da6aSPeter Maydell#
1455329da6aSPeter Maydell# This is required for the alabaster theme
1465329da6aSPeter Maydell# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
1475329da6aSPeter Maydellhtml_sidebars = {
1485329da6aSPeter Maydell    '**': [
1494fad3864SPeter Maydell        'about.html',
1504fad3864SPeter Maydell        'navigation.html',
1515329da6aSPeter Maydell        'searchbox.html',
1525329da6aSPeter Maydell    ]
1535329da6aSPeter Maydell}
1545329da6aSPeter Maydell
155479fb8a5SPeter Maydell# Don't copy the rST source files to the HTML output directory,
156479fb8a5SPeter Maydell# and don't put links to the sources into the output HTML.
157479fb8a5SPeter Maydellhtml_copy_source = False
1585329da6aSPeter Maydell
1595329da6aSPeter Maydell# -- Options for HTMLHelp output ------------------------------------------
1605329da6aSPeter Maydell
1615329da6aSPeter Maydell# Output file base name for HTML help builder.
1625329da6aSPeter Maydellhtmlhelp_basename = 'QEMUdoc'
1635329da6aSPeter Maydell
1645329da6aSPeter Maydell
1655329da6aSPeter Maydell# -- Options for LaTeX output ---------------------------------------------
1665329da6aSPeter Maydell
1675329da6aSPeter Maydelllatex_elements = {
1685329da6aSPeter Maydell    # The paper size ('letterpaper' or 'a4paper').
1695329da6aSPeter Maydell    #
1705329da6aSPeter Maydell    # 'papersize': 'letterpaper',
1715329da6aSPeter Maydell
1725329da6aSPeter Maydell    # The font size ('10pt', '11pt' or '12pt').
1735329da6aSPeter Maydell    #
1745329da6aSPeter Maydell    # 'pointsize': '10pt',
1755329da6aSPeter Maydell
1765329da6aSPeter Maydell    # Additional stuff for the LaTeX preamble.
1775329da6aSPeter Maydell    #
1785329da6aSPeter Maydell    # 'preamble': '',
1795329da6aSPeter Maydell
1805329da6aSPeter Maydell    # Latex figure (float) alignment
1815329da6aSPeter Maydell    #
1825329da6aSPeter Maydell    # 'figure_align': 'htbp',
1835329da6aSPeter Maydell}
1845329da6aSPeter Maydell
1855329da6aSPeter Maydell# Grouping the document tree into LaTeX files. List of tuples
1865329da6aSPeter Maydell# (source start file, target name, title,
1875329da6aSPeter Maydell#  author, documentclass [howto, manual, or own class]).
1885329da6aSPeter Maydelllatex_documents = [
1895329da6aSPeter Maydell    (master_doc, 'QEMU.tex', u'QEMU Documentation',
1905329da6aSPeter Maydell     u'The QEMU Project Developers', 'manual'),
1915329da6aSPeter Maydell]
1925329da6aSPeter Maydell
1935329da6aSPeter Maydell
1945329da6aSPeter Maydell# -- Options for manual page output ---------------------------------------
1955329da6aSPeter Maydell
1965329da6aSPeter Maydell# One entry per manual page. List of tuples
1975329da6aSPeter Maydell# (source start file, name, description, authors, manual section).
1985329da6aSPeter Maydellman_pages = [
1995329da6aSPeter Maydell    (master_doc, 'qemu', u'QEMU Documentation',
2005329da6aSPeter Maydell     [author], 1)
2015329da6aSPeter Maydell]
2025329da6aSPeter Maydell
2035329da6aSPeter Maydell
2045329da6aSPeter Maydell# -- Options for Texinfo output -------------------------------------------
2055329da6aSPeter Maydell
2065329da6aSPeter Maydell# Grouping the document tree into Texinfo files. List of tuples
2075329da6aSPeter Maydell# (source start file, target name, title, author,
2085329da6aSPeter Maydell#  dir menu entry, description, category)
2095329da6aSPeter Maydelltexinfo_documents = [
2105329da6aSPeter Maydell    (master_doc, 'QEMU', u'QEMU Documentation',
2115329da6aSPeter Maydell     author, 'QEMU', 'One line description of project.',
2125329da6aSPeter Maydell     'Miscellaneous'),
2135329da6aSPeter Maydell]
2145329da6aSPeter Maydell
2155329da6aSPeter Maydell
2165329da6aSPeter Maydell
217