diff mbox series

[1/2] arm-bsp/documentation: corstone1000: Deprecation of Sphinx context injection

Message ID 20240812150417.157272-2-hugues.kambampiana@arm.com
State New
Headers show
Series arm-bsp/documentation: corstone1000: Deprecation of Sphinx context injection | expand

Commit Message

Hugues KAMBA MPIANA Aug. 12, 2024, 3:04 p.m. UTC
From: Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>

Read the Docs will stop defining `html_baseurl` Sphinx configuration,
which means that projects will need to define it by themselves to keep the
canonical custom domain properly configured.

The `READTHEDOCS_CANONICAL_URL` environment variable is used to define
`html_baseurl` to keep the previous behavior.

Also inject the `READTHEDOCS` variable into the `html_context`.

Code fragment taken from the blog post here:
https://about.readthedocs.com/blog/2024/07/addons-by-default/

Signed-off-by: Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
---
 .../documentation/corstone1000/conf.py        | 20 ++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/meta-arm-bsp/documentation/corstone1000/conf.py b/meta-arm-bsp/documentation/corstone1000/conf.py
index e9cab633..b932a52c 100644
--- a/meta-arm-bsp/documentation/corstone1000/conf.py
+++ b/meta-arm-bsp/documentation/corstone1000/conf.py
@@ -10,15 +10,19 @@ 
 # add these directories to sys.path here. If the directory is relative to the
 # documentation root, use os.path.abspath to make it absolute, like shown here.
 #
-# import os
-# import sys
 # sys.path.insert(0, os.path.abspath('.'))
 
+import os
+import sys
+
+# Append the documentation directory to the path, so we can import variables
+sys.path.append(os.path.dirname(__file__))
+
 
 # -- Project information -----------------------------------------------------
 
 project = 'corstone1000'
-copyright = '2020-2022, Arm Limited'
+copyright = '2020-2024, Arm Limited'
 author = 'Arm Limited'
 
 
@@ -46,6 +50,16 @@  exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', 'docs/infra']
 #
 html_theme = 'sphinx_rtd_theme'
 
+# Define the canonical URL if you are using a custom domain on Read the Docs
+html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "")
+
+# Tell Jinja2 templates the build is running on Read the Docs
+if os.environ.get("READTHEDOCS", "") == "True":
+    if "html_context" not in globals():
+        html_context = {}
+    html_context["READTHEDOCS"] = True
+
+
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".