1# -*- coding: utf-8 -*-
2#
3# Copyright (c) 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 = "Hafnium"
16author = "Hafnium contributors"
17version = "2.9.0"
18release = "2.9.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]
30
31# Add any paths that contain templates here, relative to this directory.
32templates_path = ["_templates"]
33
34# The suffix(es) of source filenames.
35source_suffix = [".md", ".rst"]
36
37# The master toctree document.
38master_doc = "index"
39
40# The language for content autogenerated by Sphinx. Refer to documentation
41# for a list of supported languages.
42#
43# This is also used if you do content translation via gettext catalogs.
44# Usually you set "language" from the command line for these cases.
45language = "en"
46
47# List of patterns, relative to source directory, that match files and
48# directories to ignore when looking for source files.
49# This pattern also affects html_static_path and html_extra_path .
50# Don't try to build the venv in case it's placed with the sources
51exclude_patterns = [".env", "env", ".venv", "venv"]
52
53# The name of the Pygments (syntax highlighting) style to use.
54pygments_style = "sphinx"
55
56# Load the contents of the global substitutions file into the 'rst_prolog'
57# variable. This ensures that the substitutions are all inserted into each
58# page.
59with open("global_substitutions.txt", "r") as subs:
60    rst_prolog = subs.read()
61
62# Minimum version of sphinx required
63needs_sphinx = "2.0"
64
65# -- Options for HTML output -------------------------------------------------
66
67# Don't show the "Built with Sphinx" footer
68html_show_sphinx = False
69
70# Don't show copyright info in the footer (we have this content in the page)
71html_show_copyright = False
72
73# The theme to use for HTML and HTML Help pages.  See the documentation for
74# a list of builtin themes.
75html_theme = "sphinx_rtd_theme"
76
77# The logo to display in the sidebar
78html_logo = "resources/TrustedFirmware-Logo_standard-white.png"
79
80# Options for the "sphinx-rtd-theme" theme
81html_theme_options = {
82    "collapse_navigation": False,  # Can expand and collapse sidebar entries
83    "prev_next_buttons_location": "both",  # Top and bottom of the page
84    "style_external_links": True,  # Display an icon next to external links
85}
86
87# Path to _static directory
88html_static_path = ["_static"]
89
90# Path to css file relative to html_static_path
91html_css_files = [
92    "css/custom.css",
93]
94
95# -- Options for autosectionlabel --------------------------------------------
96
97# Only generate automatic section labels for document titles
98autosectionlabel_maxdepth = 1
99
100# -- Options for plantuml ----------------------------------------------------
101
102plantuml_output_format = "svg_img"
103
104# -- Options for latexmk  ----------------------------------------------------
105
106latex_engine = "xelatex"
107latex_elements = {
108    "maxlistdepth": "10",
109    "pointsize": "11pt",
110}
111