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 |   64 ++++++++++++++++++++++++--------
 1 files changed, 48 insertions(+), 16 deletions(-)

diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 2f295e9..107f240 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -1,24 +1,56 @@
 <head>
-    <link rel="preconnect" href="https://www.googletagmanager.com">
-    <link crossorigin rel="preconnect" href="https://www.google-analytics.com">
-    {{ template "_internal/google_analytics_async.html" . }}
-
     <!-- Meta tags -->
     <meta charset="UTF-8">
-    <meta name="description" content="{{$.Site.Data.config.description}}">
-    <title>{{$.Site.Data.config.page_title}}</title>
+    <meta name="description" content="{{if .IsHome}}{{$.Site.Data.config.description}}{{else}}{{.Summary}}{{end}}">
+    <title>{{ if .Title }}{{ .Title }}{{ else }}{{ $.Site.Data.config.page_title }}{{ end }}</title>
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <link rel="shortcut icon" type="image/png" href="/icon.png" />
 
     <!-- CSS Stylesheets and Fonts -->
-    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Source+Sans+Pro:wght@400;700&family=Fira+Code:wght@400;700&display=swap" rel="stylesheet">
-    {{ $css := slice "custom.scss" "base.scss" "darkmode.scss" "syntax.scss"}}
-    {{range $css}}
-    {{$sass := resources.Get . | resources.ToCSS }}
-    {{with $sass | minify}}
-    <style>
-        {{.Content | safeCSS}}
-    </style>
+    <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">
+    {{$sass := resources.Match "styles/[!_]*.scss" }}
+    {{$css := slice }}
+    {{range $sass}}
+    {{$scss := . | resources.ToCSS (dict "outputStyle" "compressed") }}
+    {{$css = $css | append $scss}}
     {{end}}
-    {{end}}
-</head>
\ No newline at end of file
+    {{$finalCss := $css | resources.Concat "styles.css" | resources.Fingerprint "md5" | resources.Minify  }}
+    <link href="{{$finalCss.Permalink}}" rel="stylesheet">
+
+    {{ $darkMode := resources.Get "js/darkmode.js" |  resources.Fingerprint "md5" | resources.Minify }}
+    <script src="{{$darkMode.Permalink}}"></script>
+
+    <!--  Preload page vars  -->
+    <script>
+      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" . }}
+{{ partial "popover.html" .}}

--
Gitblit v1.10.0