From 418184b0168520cf0d559e6c846bc83ff2758030 Mon Sep 17 00:00:00 2001
From: Deepak Khatri <lorforlinux@beagleboard.org>
Date: Thu, 1 Sep 2022 20:33:05 +0530
Subject: [PATCH] Fix PDF and version links

---
 _templates/versions.html |  8 ++++----
 conf.py                  | 32 ++++++++++++++++++++++++--------
 gitlab-build.sh          |  5 +++++
 3 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/_templates/versions.html b/_templates/versions.html
index d0228aea..aee13e78 100644
--- a/_templates/versions.html
+++ b/_templates/versions.html
@@ -8,13 +8,13 @@
     <div class="rst-other-versions">
       <dl>
         <dt>{{ _('Document Release Versions') }}</dt>
-          <dd><a class="reference internal" href="">latest</a></dd>
-          <dd><a class="reference internal" href="0.0.7">0.0.7</a></dd>
-          <dd><a class="reference internal" href="0.1.0">0.1.0</a></dd>
+          <dd><a href="{{pages_url}}">latest</a></dd>
+          <dd><a href="{{pages_url}}/0.0">0.0</a></dd>
+          <dd><a href="{{pages_url}}/0.1">0.1</a></dd>
       </dl>
       <dl>
         <dt>{{ _('Downloads') }}</dt>
-        <dd><a class="reference internal" href="beagleboard-docs.pdf">PDF</a></dd>
+        <dd><a href="{{docs_url}}/beagleboard-docs.pdf">PDF</a></dd>
       </dl>
       <dl>
         <dt>{{ _('BeagleBoard.org Links') }}</dt>
diff --git a/conf.py b/conf.py
index f09fb5ec..8de76d22 100644
--- a/conf.py
+++ b/conf.py
@@ -71,7 +71,7 @@ with open(BBDOCS_BASE  / "VERSION") as f:
     )
 
     if not m:
-        sys.stderr.write("Warning: Could not extract kernel version\n")
+        sys.stderr.write("Warning: Could not extract docs version\n")
         version = "Unknown"
     else:
         major, minor, patch, extra = m.groups(1)
@@ -81,11 +81,26 @@ with open(BBDOCS_BASE  / "VERSION") as f:
 
 release = version
 
-is_release = tags.has("release")  # pylint: disable=undefined-variable
-reference_prefix = ""
-if tags.has("publish"):  # pylint: disable=undefined-variable
-    reference_prefix = f"/{version}" if is_release else "/latest"
-docs_title = "Docs / {}".format(version if is_release else "Latest")
+# parse pages details from 'PAGES' file
+with open(BBDOCS_BASE  / "PAGES") as f:
+    m = re.match(
+        (
+            r"^PAGES_URL\s*=\s*(\S+)$\n"
+            + r"^PAGES_SLUG\s*=\s*(\S+)$\n"
+        ),
+        f.read(),
+        re.MULTILINE,
+    )
+
+    if not m:
+        sys.stderr.write("Warning: Could not extract pages information\n")
+        pages_url = "Unknown"
+        pages_slug = "Unknown"
+    else:
+        url, slug = m.groups(1)
+        pages_url = url
+        pages_slug = slug
+        docs_url = "/".join((url, slug))
 
 html_context = {
     "display_gitlab": True,
@@ -95,8 +110,9 @@ html_context = {
     "gitlab_version": "main",
     "conf_py_path": "/",
     "show_license": True,
-    "docs_title": docs_title,
-    "is_release": is_release,
+    "pages_url": pages_url,
+    "pages_slug": pages_slug,
+    "docs_url": docs_url,
     "current_version": version
 }
 
diff --git a/gitlab-build.sh b/gitlab-build.sh
index f9f4a6de..550a1bbc 100755
--- a/gitlab-build.sh
+++ b/gitlab-build.sh
@@ -2,6 +2,11 @@
 
 env
 
+cat << EOF > PAGES
+PAGES_URL =  $CI_PAGES_URL
+PAGES_SLUG = $CI_COMMIT_BRANCH
+EOF
+
 if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then
 
 rm -rf public
-- 
GitLab