[libvirt] [PATCH 1/2] docs: move javascript logic into a standalone file

Daniel P. Berrangé berrange at redhat.com
Fri Apr 5 13:30:30 UTC 2019


Instead of duplicating javascript in every single page, put it in a
standalone file which can be cached by the browser.

Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
---
 docs/main.js  | 25 +++++++++++++++++++++++++
 docs/page.xsl | 35 +++--------------------------------
 2 files changed, 28 insertions(+), 32 deletions(-)
 create mode 100644 docs/main.js

diff --git a/docs/main.js b/docs/main.js
new file mode 100644
index 0000000000..723e2fb16d
--- /dev/null
+++ b/docs/main.js
@@ -0,0 +1,25 @@
+function pageload() {
+    window.addEventListener('scroll', function(e){
+        var distanceY = window.pageYOffset || document.documentElement.scrollTop
+        var shrinkOn = 94
+        home = document.getElementById("home");
+        links = document.getElementById("jumplinks");
+        search = document.getElementById("search");
+        body = document.getElementById("body");
+        if (distanceY > shrinkOn) {
+            if (home.className != "navhide") {
+                body.className = "navhide"
+                home.className = "navhide"
+                links.className = "navhide"
+                search.className = "navhide"
+            }
+        } else {
+            if (home.className == "navhide") {
+                body.className = ""
+                home.className = ""
+                links.className = ""
+                search.className = ""
+            }
+        }
+    });
+}
diff --git a/docs/page.xsl b/docs/page.xsl
index beb864f26b..679e3f6822 100644
--- a/docs/page.xsl
+++ b/docs/page.xsl
@@ -99,40 +99,11 @@
         <meta name="description" content="libvirt, virtualization, virtualization API"/>
         <xsl:apply-templates select="/html:html/html:head/*" mode="content"/>
 
-        <script type="text/javascript">
-          <xsl:comment>
-          <![CDATA[
-      function init() {
-          window.addEventListener('scroll', function(e){
-              var distanceY = window.pageYOffset || document.documentElement.scrollTop,
-              shrinkOn = 94
-              home = document.getElementById("home");
-              links = document.getElementById("jumplinks");
-              search = document.getElementById("search");
-              body = document.getElementById("body");
-              if (distanceY > shrinkOn) {
-                  if (home.className != "navhide") {
-                      body.className = "navhide"
-                      home.className = "navhide"
-                      links.className = "navhide"
-                      search.className = "navhide"
-                  }
-              } else {
-                  if (home.className == "navhide") {
-                      body.className = ""
-                      home.className = ""
-                      links.className = ""
-                      search.className = ""
-                  }
-              }
-          });
-      }
-      window.onload = init();
-           ]]>
-          </xsl:comment>
+        <script type="text/javascript" src="{$href_base}main.js">
+          <xsl:comment>// forces non-empty element</xsl:comment>
         </script>
       </head>
-      <body>
+      <body onload="pageload()">
         <xsl:if test="html:html/html:body/@class">
           <xsl:attribute name="class">
             <xsl:value-of select="html:html/html:body/@class"/>
-- 
2.20.1




More information about the libvir-list mailing list