From 2b5c03c97286e06e94e8a27634678e64473a2ec8 Mon Sep 17 00:00:00 2001
From: Aiden Bai <aiden.bai05@gmail.com>
Date: Tue, 03 May 2022 17:55:45 +0000
Subject: [PATCH] Remove redundant URL construction

---
 layouts/partials/head.html |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 80ecb24..b917afb 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -66,8 +66,15 @@
   {{ $router := resources.Get "js/router.js" | resources.Fingerprint "md5" |
   resources.Minify }}
   <script type="module">
-    import { init } from '{{$router.Permalink}}';
-    init(() => {
+    import { attachSPARouting } from '{{$router.Permalink}}';
+    // NOTE: everything within this callback will be executed for every page navigation. This is a good place to put JavaScript that loads or modifies data on the page.
+    const draw = () => {
+      const container = document.getElementById("graph-container")
+      // retry if the graph is not ready
+      if (!container) return requestAnimationFrame(draw)
+      // clear the graph in case there is anything within it
+      container.textContent = ""
+
       drawGraph(
         {{strings.TrimRight "/" .Site.BaseURL}},
         {{$.Site.Data.graphConfig.paths}},
@@ -76,11 +83,12 @@
         {{$.Site.Data.graphConfig.enableLegend}},
         {{$.Site.Data.graphConfig.enableZoom}}
       );
-    
+
       {{if $.Site.Data.config.enableLinkPreview}}
         initPopover({{strings.TrimRight "/" .Site.BaseURL }})
       {{end}}
-    });
+    };
+    attachSPARouting(draw);
   </script>
   {{else}}
   <script>window.navigate = (url) => window.location.href = url</script>

--
Gitblit v1.10.0