Gerard Marull-Paretas | 2b9b163 | 2021-03-30 12:10:31 +0200 | [diff] [blame] | 1 | # Zephyr documentation build configuration file. |
| 2 | # Reference: https://www.sphinx-doc.org/en/master/usage/configuration.html |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 3 | |
| 4 | import sys |
| 5 | import os |
Gerard Marull-Paretas | 4b09faf | 2021-03-30 14:38:59 +0200 | [diff] [blame] | 6 | from pathlib import Path |
Gerard Marull-Paretas | 7abf838 | 2021-03-30 14:31:52 +0200 | [diff] [blame] | 7 | import re |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 8 | |
Gerard Marull-Paretas | 1829dc8 | 2021-07-20 14:25:27 +0200 | [diff] [blame] | 9 | from sphinx.cmd.build import get_parser |
Gerard Marull-Paretas | 0312b0b | 2021-03-30 12:22:20 +0200 | [diff] [blame] | 10 | import sphinx_rtd_theme |
| 11 | |
| 12 | |
Gerard Marull-Paretas | 1829dc8 | 2021-07-20 14:25:27 +0200 | [diff] [blame] | 13 | args = get_parser().parse_args() |
| 14 | ZEPHYR_BASE = Path(__file__).resolve().parents[1] |
| 15 | ZEPHYR_BUILD = Path(args.outputdir).resolve() |
Marti Bolivar | 1c852dd | 2018-06-07 21:45:55 -0400 | [diff] [blame] | 16 | |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 17 | # Add the '_extensions' directory to sys.path, to enable finding Sphinx |
Marti Bolivar | 6092fb0 | 2017-11-03 16:46:33 -0400 | [diff] [blame] | 18 | # extensions within. |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 19 | sys.path.insert(0, str(ZEPHYR_BASE / "doc" / "_extensions")) |
Carles Cufi | 8d5259a | 2018-11-12 16:14:51 +0100 | [diff] [blame] | 20 | |
Gerard Marull-Paretas | b2469e1 | 2021-03-30 10:55:43 +0200 | [diff] [blame] | 21 | # Add the '_scripts' directory to sys.path, to enable finding utility |
| 22 | # modules. |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 23 | sys.path.insert(0, str(ZEPHYR_BASE / "doc" / "_scripts")) |
Gerard Marull-Paretas | b2469e1 | 2021-03-30 10:55:43 +0200 | [diff] [blame] | 24 | |
Marti Bolivar | ab82264 | 2019-01-23 08:31:06 -0700 | [diff] [blame] | 25 | # Add the directory which contains the runners package as well, |
| 26 | # for autodoc directives on runners.xyz. |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 27 | sys.path.insert(0, str(ZEPHYR_BASE / "scripts" / "west_commands")) |
Marti Bolivar | ab82264 | 2019-01-23 08:31:06 -0700 | [diff] [blame] | 28 | |
Gerard Marull-Paretas | b2469e1 | 2021-03-30 10:55:43 +0200 | [diff] [blame] | 29 | import redirects |
| 30 | |
Carles Cufi | 8d5259a | 2018-11-12 16:14:51 +0100 | [diff] [blame] | 31 | try: |
Marti Bolivar | 2b3d9df | 2019-07-22 11:00:59 -0600 | [diff] [blame] | 32 | import west as west_found |
| 33 | except ImportError: |
| 34 | west_found = False |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 35 | |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 36 | # -- Project -------------------------------------------------------------- |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 37 | |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 38 | project = "Zephyr Project" |
Dan Kalowsky | 2a8fa6f | 2022-02-18 15:08:42 -0800 | [diff] [blame] | 39 | copyright = "2015-2022 Zephyr Project members and individual contributors" |
Gerard Marull-Paretas | 2f5a9d0 | 2021-07-22 16:14:51 +0200 | [diff] [blame] | 40 | author = "The Zephyr Project Contributors" |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 41 | |
Gerard Marull-Paretas | 7abf838 | 2021-03-30 14:31:52 +0200 | [diff] [blame] | 42 | # parse version from 'VERSION' file |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 43 | with open(ZEPHYR_BASE / "VERSION") as f: |
Gerard Marull-Paretas | 7abf838 | 2021-03-30 14:31:52 +0200 | [diff] [blame] | 44 | m = re.match( |
| 45 | ( |
| 46 | r"^VERSION_MAJOR\s*=\s*(\d+)$\n" |
| 47 | + r"^VERSION_MINOR\s*=\s*(\d+)$\n" |
| 48 | + r"^PATCHLEVEL\s*=\s*(\d+)$\n" |
| 49 | + r"^VERSION_TWEAK\s*=\s*\d+$\n" |
| 50 | + r"^EXTRAVERSION\s*=\s*(.*)$" |
| 51 | ), |
| 52 | f.read(), |
| 53 | re.MULTILINE, |
| 54 | ) |
| 55 | |
| 56 | if not m: |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 57 | sys.stderr.write("Warning: Could not extract kernel version\n") |
Gerard Marull-Paretas | 7abf838 | 2021-03-30 14:31:52 +0200 | [diff] [blame] | 58 | version = "Unknown" |
| 59 | else: |
| 60 | major, minor, patch, extra = m.groups(1) |
| 61 | version = ".".join((major, minor, patch)) |
| 62 | if extra: |
| 63 | version += "-" + extra |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 64 | |
Gerard Marull-Paretas | 2f5a9d0 | 2021-07-22 16:14:51 +0200 | [diff] [blame] | 65 | release = version |
| 66 | |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 67 | # -- General configuration ------------------------------------------------ |
| 68 | |
| 69 | extensions = [ |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 70 | "breathe", |
| 71 | "sphinx.ext.todo", |
| 72 | "sphinx.ext.extlinks", |
| 73 | "sphinx.ext.autodoc", |
Gerard Marull-Paretas | 4127138 | 2021-07-20 16:12:23 +0200 | [diff] [blame] | 74 | "sphinx.ext.graphviz", |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 75 | "zephyr.application", |
| 76 | "zephyr.html_redirects", |
Gerard Marull-Paretas | fc942ef | 2022-01-12 13:41:15 +0100 | [diff] [blame^] | 77 | "zephyr.kconfig", |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 78 | "zephyr.dtcompatible-role", |
| 79 | "zephyr.link-roles", |
| 80 | "sphinx_tabs.tabs", |
Gerard Marull-Paretas | 96c7d10 | 2021-04-06 00:02:03 +0200 | [diff] [blame] | 81 | "zephyr.warnings_filter", |
Gerard Marull-Paretas | 457f3a4 | 2021-04-16 10:47:43 +0200 | [diff] [blame] | 82 | "zephyr.doxyrunner", |
Gerard Marull-Paretas | fe7529f | 2021-06-28 20:08:13 +0200 | [diff] [blame] | 83 | "zephyr.vcs_link", |
Gerard Marull-Paretas | 95d8d2c | 2021-05-19 16:04:20 +0200 | [diff] [blame] | 84 | "notfound.extension", |
Gerard Marull-Paretas | 4dd1553 | 2021-05-10 19:11:14 +0200 | [diff] [blame] | 85 | "zephyr.external_content", |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 86 | ] |
| 87 | |
| 88 | # Only use SVG converter when it is really needed, e.g. LaTeX. |
| 89 | if tags.has("svgconvert"): # pylint: disable=undefined-variable |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 90 | extensions.append("sphinxcontrib.rsvgconverter") |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 91 | |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 92 | templates_path = ["_templates"] |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 93 | |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 94 | exclude_patterns = ["_build"] |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 95 | |
Carles Cufi | 8d5259a | 2018-11-12 16:14:51 +0100 | [diff] [blame] | 96 | if not west_found: |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 97 | exclude_patterns.append("**/*west-apis*") |
Carles Cufi | 8d5259a | 2018-11-12 16:14:51 +0100 | [diff] [blame] | 98 | else: |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 99 | exclude_patterns.append("**/*west-not-found*") |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 100 | |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 101 | pygments_style = "sphinx" |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 102 | |
Carol Lee | 1aa7733 | 2015-08-07 13:22:27 -0400 | [diff] [blame] | 103 | todo_include_todos = False |
Anas Nashif | 089a10b | 2015-06-12 10:51:09 -0700 | [diff] [blame] | 104 | |
Gerard Marull-Paretas | 4516117 | 2021-09-22 22:44:00 +0200 | [diff] [blame] | 105 | numfig = True |
| 106 | |
Anas Nashif | 089a10b | 2015-06-12 10:51:09 -0700 | [diff] [blame] | 107 | rst_epilog = """ |
David B. Kinder | 486c5a5 | 2018-05-04 16:31:05 -0700 | [diff] [blame] | 108 | .. include:: /substitutions.txt |
Anas Nashif | 089a10b | 2015-06-12 10:51:09 -0700 | [diff] [blame] | 109 | """ |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 110 | |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 111 | # -- Options for HTML output ---------------------------------------------- |
| 112 | |
David B. Kinder | 5c8398d | 2018-08-03 16:12:03 -0700 | [diff] [blame] | 113 | html_theme = "sphinx_rtd_theme" |
| 114 | html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] |
Gerard Marull-Paretas | f0d3db2 | 2021-05-17 19:22:17 +0200 | [diff] [blame] | 115 | html_theme_options = { |
| 116 | "logo_only": True, |
| 117 | "prev_next_buttons_location": None |
| 118 | } |
Anas Nashif | 1286750 | 2015-06-29 15:33:28 -0400 | [diff] [blame] | 119 | html_title = "Zephyr Project Documentation" |
Gerard Marull-Paretas | 2d06ad7 | 2021-05-19 12:25:16 +0200 | [diff] [blame] | 120 | html_logo = str(ZEPHYR_BASE / "doc" / "_static" / "images" / "logo.svg") |
Gerard Marull-Paretas | 1cecfe7 | 2021-06-30 15:03:11 +0200 | [diff] [blame] | 121 | html_favicon = str(ZEPHYR_BASE / "doc" / "_static" / "images" / "favicon.png") |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 122 | html_static_path = [str(ZEPHYR_BASE / "doc" / "_static")] |
| 123 | html_last_updated_fmt = "%b %d, %Y" |
Carol Lee | 1aa7733 | 2015-08-07 13:22:27 -0400 | [diff] [blame] | 124 | html_domain_indices = False |
Carol Lee | 1aa7733 | 2015-08-07 13:22:27 -0400 | [diff] [blame] | 125 | html_split_index = True |
David B. Kinder | f3f266e | 2018-07-31 13:47:10 -0700 | [diff] [blame] | 126 | html_show_sourcelink = False |
Rodrigo Caballero | 8d7b52f | 2015-10-16 09:30:15 -0500 | [diff] [blame] | 127 | html_show_sphinx = False |
Gerard Marull-Paretas | 2d06ad7 | 2021-05-19 12:25:16 +0200 | [diff] [blame] | 128 | html_search_scorer = str(ZEPHYR_BASE / "doc" / "_static" / "js" / "scorer.js") |
Anas Nashif | 06d380c | 2015-05-13 14:05:30 -0400 | [diff] [blame] | 129 | |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 130 | is_release = tags.has("release") # pylint: disable=undefined-variable |
Gerard Marull-Paretas | b4f968c | 2021-10-28 18:57:20 +0200 | [diff] [blame] | 131 | reference_prefix = "" |
| 132 | if tags.has("publish"): # pylint: disable=undefined-variable |
| 133 | reference_prefix = f"/{version}" if is_release else "/latest" |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 134 | docs_title = "Docs / {}".format(version if is_release else "Latest") |
Rodrigo Caballero | 8d7b52f | 2015-10-16 09:30:15 -0500 | [diff] [blame] | 135 | html_context = { |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 136 | "show_license": True, |
| 137 | "docs_title": docs_title, |
| 138 | "is_release": is_release, |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 139 | "current_version": version, |
| 140 | "versions": ( |
| 141 | ("latest", "/"), |
Dan Kalowsky | 3e084ac | 2022-02-18 15:17:00 -0800 | [diff] [blame] | 142 | ("3.0.0", "/3.0.0/"), |
Gerard Marull-Paretas | 9130455 | 2021-10-19 17:21:38 +0200 | [diff] [blame] | 143 | ("2.7.0", "/2.7.0/"), |
Kumar Gala | 79a6c07 | 2021-06-01 21:10:08 -0500 | [diff] [blame] | 144 | ("2.6.0", "/2.6.0/"), |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 145 | ("2.5.0", "/2.5.0/"), |
| 146 | ("2.4.0", "/2.4.0/"), |
| 147 | ("2.3.0", "/2.3.0/"), |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 148 | ("1.14.1", "/1.14.1/"), |
| 149 | ), |
Gerard Marull-Paretas | fe7529f | 2021-06-28 20:08:13 +0200 | [diff] [blame] | 150 | "display_vcs_link": True, |
Gerard Marull-Paretas | b4f968c | 2021-10-28 18:57:20 +0200 | [diff] [blame] | 151 | "reference_links": { |
| 152 | "API": f"{reference_prefix}/doxygen/html/index.html", |
Gerard Marull-Paretas | fc942ef | 2022-01-12 13:41:15 +0100 | [diff] [blame^] | 153 | "Kconfig Options": f"{reference_prefix}/kconfig.html", |
Gerard Marull-Paretas | b4f968c | 2021-10-28 18:57:20 +0200 | [diff] [blame] | 154 | "Devicetree Bindings": f"{reference_prefix}/reference/devicetree/bindings.html", |
| 155 | } |
Rodrigo Caballero | 8d7b52f | 2015-10-16 09:30:15 -0500 | [diff] [blame] | 156 | } |
Anas Nashif | b7b2318 | 2017-01-03 14:43:02 -0500 | [diff] [blame] | 157 | |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 158 | # -- Options for LaTeX output --------------------------------------------- |
| 159 | |
| 160 | latex_elements = { |
Gerard Marull-Paretas | 2f5a9d0 | 2021-07-22 16:14:51 +0200 | [diff] [blame] | 161 | "papersize": "a4paper", |
| 162 | "maketitle": open(ZEPHYR_BASE / "doc" / "_static" / "latex" / "title.tex").read(), |
| 163 | "preamble": open(ZEPHYR_BASE / "doc" / "_static" / "latex" / "preamble.tex").read(), |
| 164 | "fontpkg": r"\usepackage{charter}", |
| 165 | "sphinxsetup": ",".join( |
| 166 | ( |
| 167 | # NOTE: colors match those found in light.css stylesheet |
| 168 | "verbatimwithframe=false", |
| 169 | "VerbatimColor={HTML}{f0f2f4}", |
| 170 | "InnerLinkColor={HTML}{2980b9}", |
| 171 | "warningBgColor={HTML}{e9a499}", |
| 172 | "warningborder=0pt", |
| 173 | r"HeaderFamily=\rmfamily\bfseries", |
| 174 | ) |
| 175 | ), |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 176 | } |
Gerard Marull-Paretas | 2f5a9d0 | 2021-07-22 16:14:51 +0200 | [diff] [blame] | 177 | latex_logo = str(ZEPHYR_BASE / "doc" / "_static" / "images" / "logo-latex.pdf") |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 178 | latex_documents = [ |
Gerard Marull-Paretas | 2f5a9d0 | 2021-07-22 16:14:51 +0200 | [diff] [blame] | 179 | ("index-tex", "zephyr.tex", "Zephyr Project Documentation", author, "manual"), |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 180 | ] |
| 181 | |
Gerard Marull-Paretas | 457f3a4 | 2021-04-16 10:47:43 +0200 | [diff] [blame] | 182 | # -- Options for zephyr.doxyrunner plugin --------------------------------- |
| 183 | |
| 184 | doxyrunner_doxygen = os.environ.get("DOXYGEN_EXECUTABLE", "doxygen") |
| 185 | doxyrunner_doxyfile = ZEPHYR_BASE / "doc" / "zephyr.doxyfile.in" |
| 186 | doxyrunner_outdir = ZEPHYR_BUILD / "doxygen" |
| 187 | doxyrunner_fmt = True |
Gerard Marull-Paretas | a42ee8b | 2021-10-03 19:32:42 +0200 | [diff] [blame] | 188 | doxyrunner_fmt_vars = {"ZEPHYR_BASE": str(ZEPHYR_BASE), "ZEPHYR_VERSION": version} |
Gerard Marull-Paretas | ab64a67 | 2022-01-10 12:35:31 +0100 | [diff] [blame] | 189 | doxyrunner_outdir_var = "DOXY_OUT" |
Gerard Marull-Paretas | 457f3a4 | 2021-04-16 10:47:43 +0200 | [diff] [blame] | 190 | |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 191 | # -- Options for Breathe plugin ------------------------------------------- |
| 192 | |
Gerard Marull-Paretas | 830de4c | 2021-05-19 13:11:51 +0200 | [diff] [blame] | 193 | breathe_projects = {"Zephyr": str(doxyrunner_outdir / "xml")} |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 194 | breathe_default_project = "Zephyr" |
| 195 | breathe_domain_by_extension = { |
| 196 | "h": "c", |
| 197 | "c": "c", |
| 198 | } |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 199 | breathe_show_enumvalue_initializer = True |
Gerard Marull-Paretas | 0e50341 | 2021-05-17 12:57:15 +0200 | [diff] [blame] | 200 | breathe_default_members = ("members", ) |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 201 | |
| 202 | cpp_id_attributes = [ |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 203 | "__syscall", |
| 204 | "__deprecated", |
| 205 | "__may_alias", |
| 206 | "__used", |
| 207 | "__unused", |
| 208 | "__weak", |
Nicolas Pitre | 0dc7b9e | 2021-04-09 00:40:41 -0400 | [diff] [blame] | 209 | "__attribute_const__", |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 210 | "__DEPRECATED_MACRO", |
| 211 | "FUNC_NORETURN", |
| 212 | "__subsystem", |
Christopher Friedt | f2d675b | 2022-02-01 15:30:19 -0500 | [diff] [blame] | 213 | "ALWAYS_INLINE", |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 214 | ] |
| 215 | c_id_attributes = cpp_id_attributes |
| 216 | |
| 217 | # -- Options for html_redirect plugin ------------------------------------- |
| 218 | |
| 219 | html_redirect_pages = redirects.REDIRECTS |
| 220 | |
Gerard Marull-Paretas | 96c7d10 | 2021-04-06 00:02:03 +0200 | [diff] [blame] | 221 | # -- Options for zephyr.warnings_filter ----------------------------------- |
| 222 | |
| 223 | warnings_filter_config = str(ZEPHYR_BASE / "doc" / "known-warnings.txt") |
Gerard Marull-Paretas | 96c7d10 | 2021-04-06 00:02:03 +0200 | [diff] [blame] | 224 | |
Gerard Marull-Paretas | 95d8d2c | 2021-05-19 16:04:20 +0200 | [diff] [blame] | 225 | # -- Options for notfound.extension --------------------------------------- |
| 226 | |
Gerard Marull-Paretas | 45cce73 | 2021-06-22 11:16:25 +0200 | [diff] [blame] | 227 | notfound_urls_prefix = f"/{version}/" if is_release else "/latest/" |
Gerard Marull-Paretas | 95d8d2c | 2021-05-19 16:04:20 +0200 | [diff] [blame] | 228 | |
Gerard Marull-Paretas | fe7529f | 2021-06-28 20:08:13 +0200 | [diff] [blame] | 229 | # -- Options for zephyr.vcs_link ------------------------------------------ |
| 230 | |
| 231 | vcs_link_version = f"v{version}" if is_release else "main" |
| 232 | vcs_link_base_url = f"https://github.com/zephyrproject-rtos/zephyr/blob/{vcs_link_version}" |
| 233 | vcs_link_prefixes = { |
| 234 | "samples/.*": "", |
| 235 | "boards/.*": "", |
| 236 | ".*": "doc", |
| 237 | } |
| 238 | vcs_link_exclude = [ |
| 239 | "reference/kconfig.*", |
| 240 | "reference/devicetree/bindings.*", |
| 241 | "reference/devicetree/compatibles.*", |
| 242 | ] |
| 243 | |
Gerard Marull-Paretas | fc942ef | 2022-01-12 13:41:15 +0100 | [diff] [blame^] | 244 | # -- Options for zephyr.kconfig ------------------------------------------- |
| 245 | |
| 246 | kconfig_generate_db = True |
| 247 | kconfig_ext_paths = [ZEPHYR_BASE] |
| 248 | |
Gerard Marull-Paretas | 4dd1553 | 2021-05-10 19:11:14 +0200 | [diff] [blame] | 249 | # -- Options for zephyr.external_content ---------------------------------- |
| 250 | |
| 251 | external_content_contents = [ |
| 252 | (ZEPHYR_BASE / "doc", "[!_]*"), |
| 253 | (ZEPHYR_BASE, "boards/**/*.rst"), |
| 254 | (ZEPHYR_BASE, "boards/**/doc"), |
| 255 | (ZEPHYR_BASE, "samples/**/*.rst"), |
| 256 | (ZEPHYR_BASE, "samples/**/doc"), |
| 257 | ] |
| 258 | external_content_keep = [ |
| 259 | "reference/kconfig/*", |
| 260 | "reference/devicetree/bindings.rst", |
| 261 | "reference/devicetree/bindings/**/*", |
| 262 | "reference/devicetree/compatibles/**/*", |
| 263 | ] |
| 264 | |
Gerard Marull-Paretas | 4127138 | 2021-07-20 16:12:23 +0200 | [diff] [blame] | 265 | # -- Options for sphinx.ext.graphviz -------------------------------------- |
| 266 | |
| 267 | graphviz_dot = os.environ.get("DOT_EXECUTABLE", "dot") |
| 268 | graphviz_output_format = "svg" |
| 269 | graphviz_dot_args = [ |
| 270 | "-Gbgcolor=transparent", |
| 271 | "-Nstyle=filled", |
| 272 | "-Nfillcolor=white", |
| 273 | "-Ncolor=gray60", |
| 274 | "-Nfontcolor=gray25", |
| 275 | "-Ecolor=gray60", |
| 276 | ] |
| 277 | |
Gerard Marull-Paretas | 603e875 | 2021-03-30 13:09:11 +0200 | [diff] [blame] | 278 | # -- Linkcheck options ---------------------------------------------------- |
Anas Nashif | 38a7779 | 2019-01-20 08:56:48 -0500 | [diff] [blame] | 279 | |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 280 | extlinks = { |
| 281 | "jira": ("https://jira.zephyrproject.org/browse/%s", ""), |
| 282 | "github": ("https://github.com/zephyrproject-rtos/zephyr/issues/%s", ""), |
| 283 | } |
David B. Kinder | 2a1adfc | 2017-04-27 14:59:04 -0700 | [diff] [blame] | 284 | |
| 285 | linkcheck_timeout = 30 |
| 286 | linkcheck_workers = 10 |
David B. Kinder | 2a1adfc | 2017-04-27 14:59:04 -0700 | [diff] [blame] | 287 | linkcheck_anchors = False |
| 288 | |
Gerard Marull-Paretas | f4edff0 | 2021-03-30 14:50:25 +0200 | [diff] [blame] | 289 | |
David B. Kinder | 6bd5dff | 2017-01-27 16:20:21 -0800 | [diff] [blame] | 290 | def setup(app): |
Gerard Marull-Paretas | a6d8c23 | 2021-03-12 14:33:16 +0100 | [diff] [blame] | 291 | # theme customizations |
| 292 | app.add_css_file("css/custom.css") |
Gerard Marull-Paretas | a6d8c23 | 2021-03-12 14:33:16 +0100 | [diff] [blame] | 293 | app.add_js_file("js/dark-mode-toggle.min.mjs", type="module") |
David B. Kinder | aa9b602 | 2019-06-06 14:13:56 -0700 | [diff] [blame] | 294 | |
Fabio Utzig | 6111da4 | 2020-05-18 17:42:20 -0300 | [diff] [blame] | 295 | app.add_js_file("https://www.googletagmanager.com/gtag/js?id=UA-831873-47") |
Gerard Marull-Paretas | bbab815 | 2021-03-29 23:47:39 +0200 | [diff] [blame] | 296 | app.add_js_file("js/ga-tracker.js") |