From 72941965abc135f8df28b47a90a7b2965fb075bd Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 27 Jun 2022 23:27:57 +0000
Subject: [PATCH] Merge pull request #146 from geoffreygarrett/hugo
---
layouts/partials/head.html | 66 ++++++++++++++-------------------
1 files changed, 28 insertions(+), 38 deletions(-)
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 01b8fe8..d33a0c7 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -10,11 +10,17 @@
end }}
</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
- <link
- rel="shortcut icon"
- type="image/png"
- href="{{$.Site.BaseURL}}/icon.png"
- />
+
+ <!-- HTML Favicon -->
+ {{ $favicon := $.Site.Data.config.favicon | default (slice (dict "rel" "shortcut icon" "type" "image/png" "href" "icon.png")) }}
+ {{ $type := (printf "%T" $favicon) }}
+ {{ if eq $type "string" }}
+ {{ $favicon | safeHTML }}
+ {{ else }}
+ {{ range $favicon }}
+ <link rel="{{.rel}}" {{if .type}}type="{{.type}}"{{end}} {{if .sizes}}sizes="{{.sizes}}"{{end}} href="{{$.Site.BaseURL}}/{{.href}}" />
+ {{- end }}
+ {{ end }}
<!-- CSS Stylesheets and Fonts -->
<link
@@ -61,52 +67,31 @@
content,
}))
- const draw = () => {
+ const render = () => {
+ // 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, adds event listeners, etc. If you are only dealing with basic DOM replacement, use the init function
const siteBaseURL = new URL({{$.Site.BaseURL}});
const pathBase = siteBaseURL.pathname;
const pathWindow = window.location.pathname;
- const isHome = pathBase == pathWindow ? true : false;
+ const isHome = pathBase == pathWindow;
- // 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.
{{if $.Site.Data.config.enableFooter}}
const container = document.getElementById("graph-container")
// retry if the graph is not ready
- if (!container) return requestAnimationFrame(draw)
+ if (!container) return requestAnimationFrame(render)
// clear the graph in case there is anything within it
container.textContent = ""
- if (isHome && {{$.Site.Data.graphConfig.enableGlobalGraph}}) {
- drawGraph(
+ const drawGlobal = isHome && {{$.Site.Data.graphConfig.enableGlobalGraph}};
+ drawGraph(
{{strings.TrimRight "/" .Site.BaseURL}},
+ drawGlobal,
{{$.Site.Data.graphConfig.paths}},
- {{$.Site.Data.graphConfig.depthGG}},
- {{$.Site.Data.graphConfig.enableDragGG}},
- {{$.Site.Data.graphConfig.enableLegendGG}},
- {{$.Site.Data.graphConfig.enableZoomGG}},
- true,
- {{$.Site.Data.graphConfig.opacityScaleGG}},
- {{$.Site.Data.graphConfig.scaleGG}},
- {{$.Site.Data.graphConfig.repelForceGG}},
- {{$.Site.Data.graphConfig.fontSizeGG}}
+ drawGlobal ? {{$.Site.Data.graphConfig.globalGraph}} : {{$.Site.Data.graphConfig.localGraph}}
);
- } else {
- drawGraph(
- {{strings.TrimRight "/" .Site.BaseURL}},
- {{$.Site.Data.graphConfig.paths}},
- {{$.Site.Data.graphConfig.depth}},
- {{$.Site.Data.graphConfig.enableDrag}},
- {{$.Site.Data.graphConfig.enableLegend}},
- {{$.Site.Data.graphConfig.enableZoom}},
- false,
- {{$.Site.Data.graphConfig.opacityScale}},
- {{$.Site.Data.graphConfig.scale}},
- {{$.Site.Data.graphConfig.repelForce}},
- {{$.Site.Data.graphConfig.fontSize}}
- );
- }
{{end}}
+
{{if $.Site.Data.config.enableLinkPreview}}
initPopover(
{{strings.TrimRight "/" .Site.BaseURL }},
@@ -114,8 +99,12 @@
{{$.Site.Data.config.enableLatex}}
)
{{end}}
+ }
+
+ const init = (doc = document) => {
+ // NOTE: everything within this callback will be executed for initial page navigation. This is a good place to put JavaScript that only replaces DOM nodes.
{{if $.Site.Data.config.enableLatex}}
- renderMathInElement(document.body, {
+ renderMathInElement(doc.body, {
delimiters: [
{left: '$$', right: '$$', display: true},
{left: '$', right: '$', display: false},
@@ -130,7 +119,7 @@
resources.Minify }}
<script type="module">
import { attachSPARouting } from "{{$router.Permalink}}"
- attachSPARouting(draw)
+ attachSPARouting(init, render)
</script>
{{else}}
<script>
@@ -138,7 +127,8 @@
navigate: (url) => (window.location.href = url),
prefetch: () => {},
}
- draw()
+ init()
+ render()
</script>
{{end}}
</head>
--
Gitblit v1.10.0