From 1313bd9779c638f09b8901f8432d6bc39910bce3 Mon Sep 17 00:00:00 2001
From: Claudio Yanes <me@claudio4.com>
Date: Fri, 04 Mar 2022 02:07:51 +0000
Subject: [PATCH] Move css and js to appropriate files

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

diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index b754ca3..107f240 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -8,27 +8,48 @@
 
     <!-- CSS Stylesheets and Fonts -->
     <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Source+Sans+Pro:wght@400;600;700&family=Fira+Code:wght@400;700&display=swap" rel="stylesheet">
-    {{ $css := slice "base.scss" "darkmode.scss" "syntax.scss" "custom.scss"}}
-    {{range $css}}
-    {{$sass := resources.Get . | resources.ToCSS }}
-    {{with $sass | minify}}
-    <style>
-        {{.Content | safeCSS}}
-    </style>
+    {{$sass := resources.Match "styles/[!_]*.scss" }}
+    {{$css := slice }}
+    {{range $sass}}
+    {{$scss := . | resources.ToCSS (dict "outputStyle" "compressed") }}
+    {{$css = $css | append $scss}}
     {{end}}
-    {{end}}
+    {{$finalCss := $css | resources.Concat "styles.css" | resources.Fingerprint "md5" | resources.Minify  }}
+    <link href="{{$finalCss.Permalink}}" rel="stylesheet">
 
-    {{- with resources.Get "darkmode.js" | minify -}}
-    <script>
-      {{.Content | safeJS }}
-    </script>
-    {{- end -}}
+    {{ $darkMode := resources.Get "js/darkmode.js" |  resources.Fingerprint "md5" | resources.Minify }}
+    <script src="{{$darkMode.Permalink}}"></script>
 
     <!--  Preload page vars  -->
     <script>
-    const content = {{$.Site.Data.contentIndex}}
-    const index = {{$.Site.Data.linkIndex.index}}
-    const links = {{$.Site.Data.linkIndex.links}}
+      const BASE_URL = {{.Site.BaseURL}}
+      let saved = false
+      const fetchData = async () => {
+        if (saved) {
+          return saved
+        } else {
+          const promises = [
+            fetch("{{ .Site.BaseURL }}/linkIndex.json")
+              .then(data => data.json())
+              .then(data => ({
+                index: data.index,
+                links: data.links,
+              })),
+            fetch("{{ .Site.BaseURL }}/contentIndex.json")
+              .then(data => data.json()),
+          ]
+          const [{index, links}, content] = await Promise.all(promises)
+          const res = ({
+            index,
+            links,
+            content,
+          })
+          saved = res
+          return res
+        }
+
+      }
+      fetchData()
     </script>
 </head>
 {{ template "_internal/google_analytics.html" . }}

--
Gitblit v1.10.0