From fcd5d2807d2bab68c6776e031e85d65fe88a6f7a Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Wed, 16 Feb 2022 00:39:14 +0000
Subject: [PATCH] feat: dynamically fetch indices

---
 layouts/partials/head.html |   42 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index f7f6ae0..7ab5aea 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -1,18 +1,14 @@
 <head>
-    <link rel="preconnect" href="https://www.googletagmanager.com">
-    <link crossorigin rel="preconnect" href="https://www.google-analytics.com">
-    {{ template "_internal/google_analytics.html" . }}
-
     <!-- Meta tags -->
     <meta charset="UTF-8">
-    <meta name="description" content="{{$.Site.Data.config.description}}">
+    <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"}}
+    <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}}
@@ -21,4 +17,34 @@
     </style>
     {{end}}
     {{end}}
-</head>
\ No newline at end of file
+
+    {{- with resources.Get "darkmode.js" | minify -}}
+    <script>
+      {{.Content | safeJS }}
+    </script>
+    {{- end -}}
+
+    <!--  Preload page vars  -->
+    <script>
+    const fetchData = async () => {
+      const promises = [
+        fetch("/linkIndex.json")
+          .then(data => data.json())
+          .then(data => ({
+            index: data.index,
+            links: data.links,
+          })),
+        fetch("/contentIndex.json")
+          .then(data => data.json()),
+      ]
+      const [{index, links}, content] = await Promise.all(promises)
+      return ({
+        index,
+        links,
+        content,
+      })
+    }
+    </script>
+</head>
+{{ template "_internal/google_analytics.html" . }}
+{{ partial "popover.html" .}}

--
Gitblit v1.10.0