summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/12340.doc1
-rw-r--r--docs/website_files/table-of-contents.js14
2 files changed, 15 insertions, 0 deletions
diff --git a/changelog.d/12340.doc b/changelog.d/12340.doc
new file mode 100644
index 0000000000..8354f2259e
--- /dev/null
+++ b/changelog.d/12340.doc
@@ -0,0 +1 @@
+Fix rendering of the documentation site when using the 'print' feature.
diff --git a/docs/website_files/table-of-contents.js b/docs/website_files/table-of-contents.js
index 0de5960b22..772da97fb9 100644
--- a/docs/website_files/table-of-contents.js
+++ b/docs/website_files/table-of-contents.js
@@ -75,6 +75,20 @@ function setTocEntry() {
  * Populate sidebar on load
  */
 window.addEventListener('load', () => {
+    // Prevent rendering the table of contents of the "print book" page, as it
+    // will end up being rendered into the output (in a broken-looking way)
+
+    // Get the name of the current page (i.e. 'print.html')
+    const pageNameExtension = window.location.pathname.split('/').pop();
+
+    // Split off the extension (as '.../print' is also a valid page name), which
+    // should result in 'print'
+    const pageName = pageNameExtension.split('.')[0];
+    if (pageName === "print") {
+        // Don't render the table of contents on this page
+        return;
+    }
+
     // Only create table of contents if there is more than one header on the page
     if (headers.length <= 1) {
         return;