From 1d3f716ce95f6011032c4b8c2dc6c867dc5aa0cf Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Wed, 17 Jul 2024 16:34:56 +0200 Subject: [PATCH] Attempt to update RTD for new build process. --- requirements.txt | 1 + source/conf.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/requirements.txt b/requirements.txt index 3513ee8..6b8ed28 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +5,4 @@ sphinx-tabs==3.4.4 sphinx-copybutton==0.5.2 sphinx-notfound-page sphinx-rtd-theme +requests diff --git a/source/conf.py b/source/conf.py index bd1867d..fac5869 100644 --- a/source/conf.py +++ b/source/conf.py @@ -16,8 +16,10 @@ # import sys # sys.path.insert(0, os.path.abspath('.')) +import os import datetime import sphinx_rtd_theme +import requests # -- Project information ----------------------------------------------------- @@ -31,6 +33,18 @@ # The full version, including alpha/beta/rc tags release = version +try: + response_versions = requests.get( + f"https://readthedocs.org/api/v2/version/?project__slug=unbound&active=true", + timeout=2, + ).json() + versions = [ + (version["slug"], f"/{version['project']['language']}/{version['slug']}/") + for version in response_versions["results"] + ] +except Exception: + versions = [] + # -- General configuration --------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. @@ -49,6 +63,7 @@ 'sphinx.ext.autosectionlabel', 'notfound.extension', 'sphinxcontrib.jquery', + 'sphinx_rtd_theme', ] intersphinx_mapping = { @@ -129,6 +144,36 @@ # # html_sidebars = {} +# Set canonical URL from the Read the Docs Domain +html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "") +scheme = "https" + +html_context = { + 'html_theme': html_theme, + 'current_version': version, + 'version_slug': version, + + 'PRODUCTION_DOMAIN': "readthedocs.org", + 'versions': versions, + # "downloads": downloads, + # "subprojects": subprojects, + + 'slug': "unbound", + 'rtd_language': language, + 'canonical_url': html_baseurl, + + 'conf_py_path': "/source/", + + 'github_user': "NLnetLabs", + 'github_repo': "unbound", + 'github_version': os.environ.get("READTHEDOCS_GIT_IDENTIFIER", "main"), + 'display_github': True, + 'READTHEDOCS': True, + 'using_theme': False, + 'new_theme': True, + 'source_suffix': ".rst", + 'docsearch_disabled': False, + } # -- Options for HTMLHelp output ---------------------------------------------