60 lines
1.9 KiB
HTML
60 lines
1.9 KiB
HTML
<head>
|
|
<!-- Meta tags -->
|
|
<meta charset="UTF-8">
|
|
<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;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>
|
|
{{end}}
|
|
{{end}}
|
|
|
|
{{- with resources.Get "darkmode.js" | minify -}}
|
|
<script>
|
|
{{.Content | safeJS }}
|
|
</script>
|
|
{{- end -}}
|
|
|
|
<!-- Preload page vars -->
|
|
<script>
|
|
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" .}}
|