diff options
author | Quentin Schulz <quentin.schulz@theobroma-systems.com> | 2022-04-20 17:04:43 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-04-25 15:22:12 +0100 |
commit | 3947a5f18b8d68c7946a9365d36cb760d0d51514 (patch) | |
tree | 75b806bae2828522acc336890a26aa613ae96ea3 | |
parent | 4b8010810aff8a1a1e3ffe3f6095f1aed8569240 (diff) | |
download | poky-3947a5f18b8d68c7946a9365d36cb760d0d51514.tar.gz |
docs: sphinx-static: switchers.js.in: fix broken switcher for branches
The switcher expects URL subpath to match the "release" used by sphinx
to build the documentation. Branches, however, are put in a subpath
after their name (e.g. dunfell) while sphinx sets the "release" to
X.Y.999. This means the switcher cannot replace correctly the path to
switch between releases/versions.
Let set_versions.py inject the list of release names into the
switchers.js.in file so it can check whether the subpath is one of the
release names in which case it needs to be stripped.
Cc: Quentin Schulz <foss+yocto@0leil.net>
(From yocto-docs rev: 5ef3d129b8d0d8ae98a694103930988a46285525)
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-x | documentation/set_versions.py | 3 | ||||
-rw-r--r-- | documentation/sphinx-static/switchers.js.in | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/documentation/set_versions.py b/documentation/set_versions.py index fc179ee195..261c1eeb37 100755 --- a/documentation/set_versions.py +++ b/documentation/set_versions.py | |||
@@ -203,6 +203,9 @@ versions = [] | |||
203 | with open("sphinx-static/switchers.js.in", "r") as r, open("sphinx-static/switchers.js", "w") as w: | 203 | with open("sphinx-static/switchers.js.in", "r") as r, open("sphinx-static/switchers.js", "w") as w: |
204 | lines = r.readlines() | 204 | lines = r.readlines() |
205 | for line in lines: | 205 | for line in lines: |
206 | if "ALL_RELEASES_PLACEHOLDER" in line: | ||
207 | w.write(str(list(release_series.keys()))) | ||
208 | continue | ||
206 | if "VERSIONS_PLACEHOLDER" in line: | 209 | if "VERSIONS_PLACEHOLDER" in line: |
207 | w.write(" 'dev': { 'title': 'dev (%s)', 'obsolete': false,},\n" % release_series[devbranch]) | 210 | w.write(" 'dev': { 'title': 'dev (%s)', 'obsolete': false,},\n" % release_series[devbranch]) |
208 | for branch in activereleases + ([ourseries] if ourseries not in activereleases else []): | 211 | for branch in activereleases + ([ourseries] if ourseries not in activereleases else []): |
diff --git a/documentation/sphinx-static/switchers.js.in b/documentation/sphinx-static/switchers.js.in index 7eb0c2ff34..1e523a188f 100644 --- a/documentation/sphinx-static/switchers.js.in +++ b/documentation/sphinx-static/switchers.js.in | |||
@@ -9,6 +9,10 @@ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-b | |||
9 | (function() { | 9 | (function() { |
10 | 'use strict'; | 10 | 'use strict'; |
11 | 11 | ||
12 | var all_releases = | ||
13 | ALL_RELEASES_PLACEHOLDER | ||
14 | ; | ||
15 | |||
12 | var switcher_versions = { | 16 | var switcher_versions = { |
13 | VERSIONS_PLACEHOLDER | 17 | VERSIONS_PLACEHOLDER |
14 | }; | 18 | }; |
@@ -155,6 +159,14 @@ by https://git.yoctoproject.org/yocto-autobuilder-helper/tree/scripts/run-docs-b | |||
155 | var new_url = docroot + new_versionpath + url.replace(docroot, ""); | 159 | var new_url = docroot + new_versionpath + url.replace(docroot, ""); |
156 | var fallback_url = docroot + new_versionpath; | 160 | var fallback_url = docroot + new_versionpath; |
157 | } else { | 161 | } else { |
162 | // check for named releases (e.g. dunfell) in the subpath | ||
163 | $.each(all_releases, function(idx, release) { | ||
164 | if (docroot.endsWith('/' + release + '/')) { | ||
165 | current_version = release; | ||
166 | return false; | ||
167 | } | ||
168 | }); | ||
169 | |||
158 | var new_url = url.replace('/' + current_version + '/', '/' + new_versionpath); | 170 | var new_url = url.replace('/' + current_version + '/', '/' + new_versionpath); |
159 | var fallback_url = new_url.replace(url.replace(docroot, ""), ""); | 171 | var fallback_url = new_url.replace(url.replace(docroot, ""), ""); |
160 | } | 172 | } |