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