1# -*- coding: utf-8 -*-
2#
3# Copyright (c) 2019-2023, Arm Limited. All rights reserved.
4#
5# SPDX-License-Identifier: BSD-3-Clause
6#
7#
8# Configuration file for the Sphinx documentation builder.
9#
10# See the options documentation at http://www.sphinx-doc.org/en/master/config
11
12
13# -- Project information -----------------------------------------------------
14
15project = "Trusted Firmware-A"
16author = "Trusted Firmware-A contributors"
17version = "2.11.0"
18release = "2.11.0"
19
20# -- General configuration ---------------------------------------------------
21
22# Add any Sphinx extension module names here, as strings. They can be
23# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
24# ones.
25extensions = [
26    "myst_parser",
27    "sphinx.ext.autosectionlabel",
28    "sphinxcontrib.plantuml",
29    "sphinxcontrib.rsvgconverter",
30]
31
32# Add any paths that contain templates here, relative to this directory.
33templates_path = ["_templates"]
34
35# The suffix(es) of source filenames.
36source_suffix = [".md", ".rst"]
37
38# The master toctree document.
39master_doc = "index"
40
41# The language for content autogenerated by Sphinx. Refer to documentation
42# for a list of supported languages.
43#
44# This is also used if you do content translation via gettext catalogs.
45# Usually you set "language" from the command line for these cases.
46language = "en"
47
48# List of patterns, relative to source directory, that match files and
49# directories to ignore when looking for source files.
50# This pattern also affects html_static_path and html_extra_path .
51# Don't try to build the venv in case it's placed with the sources
52exclude_patterns = [".env", "env", ".venv", "venv"]
53
54# The name of the Pygments (syntax highlighting) style to use.
55pygments_style = "sphinx"
56
57# Load the contents of the global substitutions file into the 'rst_prolog'
58# variable. This ensures that the substitutions are all inserted into each
59# page.
60with open("global_substitutions.txt", "r") as subs:
61    rst_prolog = subs.read()
62
63# Minimum version of sphinx required
64needs_sphinx = "2.0"
65
66# -- Options for HTML output -------------------------------------------------
67
68# Don't show the "Built with Sphinx" footer
69html_show_sphinx = False
70
71# Don't show copyright info in the footer (we have this content in the page)
72html_show_copyright = False
73
74# The theme to use for HTML and HTML Help pages.  See the documentation for
75# a list of builtin themes.
76html_theme = "sphinx_rtd_theme"
77
78# The logo to display in the sidebar
79html_logo = "resources/TrustedFirmware-Logo_standard-white.png"
80
81# Options for the "sphinx-rtd-theme" theme
82html_theme_options = {
83    "collapse_navigation": False,  # Can expand and collapse sidebar entries
84    "prev_next_buttons_location": "both",  # Top and bottom of the page
85    "style_external_links": True,  # Display an icon next to external links
86}
87
88# Path to _static directory
89html_static_path = ["_static"]
90
91# Path to css file relative to html_static_path
92html_css_files = [
93    "css/custom.css",
94]
95
96# -- Options for autosectionlabel --------------------------------------------
97
98# Only generate automatic section labels for document titles
99autosectionlabel_maxdepth = 1
100
101# -- Options for plantuml ----------------------------------------------------
102
103plantuml_output_format = "svg_img"
104
105# -- Options for latexmk  ----------------------------------------------------
106
107latex_engine = "xelatex"
108latex_elements = {
109    "maxlistdepth": "10",
110    "pointsize": "11pt",
111    "extraclassoptions": "openany"
112}
113