website-theme/layouts/partials/head.html

72 lines
3.4 KiB
HTML

<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<title>
{{- if eq .Title .Site.Title -}}
{{ .Site.Title }}
{{- else -}}
{{ .Title }} | {{ .Site.Title }}
{{- end -}}
</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="supported-color-schemes" content="light dark" />
<meta name="author" content="{{ .Site.Params.Author }}" />
<meta name="robots" content="index,follow" />
<meta name="fediverse:creator" content="@brozek@fosstodon.org" />
<link rel="manifest" href="/manifest.json">
<link rel="hub" href="https://pubsubhubbub.superfeedr.com/">
<link rel="shortcut icon" type="image/x-icon" href="{{ .Site.BaseURL }}{{ .Site.Params.favicon }}">
<link rel="pgpkey" href="https://keys.openpgp.org/pks/lookup?op=get&options=mr&search={{ .Site.Params.email }}">
<!-- Identities -->
{{- range .Site.Params.identities -}}
<link href="{{.}}" rel="me">
{{ end -}}
<!-- Webmentions -->
{{ $siteHost := (urls.Parse .Site.BaseURL).Host -}}
<link rel="webmention" href="https://webmention.io/{{ $siteHost }}/webmention">
<link rel="pingback" href="https://webmention.io/{{ $siteHost }}/xmlrpc">
<!-- RSS / Alternative Links -->
{{- if .IsHome -}}
<link rel="alternate" type="application/json" href="{{ .Site.BaseURL }}blog/index.json" title="Brandon Rozek's Blog">
<link rel="alternate" type="application/rss+xml" href="{{ .Site.BaseURL }}blog/index.xml" title="Brandon Rozek's Blog">
<link rel="alternate" type="application/json" href="{{ .Site.BaseURL }}presentations/index.json" title="Brandon Rozek's Presentations}">
<link rel="alternate" type="application/rss+xml" href="{{ .Site.BaseURL }}presentations/index.xml" title="Brandon Rozek's Presentations">
{{ else }}
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end }}
{{ end -}}
<!-- CSS -->
{{- $style := resources.Get "css/style.css" -}}
{{- $markdown := resources.Get "css/markdown.css" -}}
{{- $fontawesome := resources.Get "css/fontawesome.css" -}}
{{- $syntaxHighlight := resources.Get "css/syntax-highlight.css" -}}
{{ $css := slice $style $markdown $fontawesome $syntaxHighlight | resources.Concat "css/style.css" | resources.Minify | resources.Fingerprint }}
<link rel="stylesheet" href="{{ $css.Permalink }}" integrity="{{ $css.Data.Integrity }}">
{{- $styleDark := resources.Get "css/style-dark.css" -}}
{{- $markdownDark := resources.Get "css/markdown-dark.css" -}}
{{ $cssDark := slice $styleDark $markdownDark | resources.Concat "css/style-dark.css" | resources.Minify | resources.Fingerprint }}
<link rel="stylesheet" href="{{ $cssDark.Permalink }}" media="(prefers-color-scheme: dark)" integrity="{{ $cssDark.Data.Integrity }}">
<!-- custom css -->
{{- range .Site.Params.custom_css -}}
<link rel="stylesheet" href="{{ . }}">
{{ end -}}
{{/* NOTE: These Hugo Internal Templates can be found starting at https://github.com/gohugoio/hugo/tree/master/tpl/tplimpl/embedded/templates */}}
{{- template "_internal/opengraph.html" . -}}
{{- template "_internal/schema.html" . -}}
<!-- {{- template "_internal/twitter_cards.html" . -}} -->
{{- partial "external/twitter_cards.html" . -}}
{{ partial "citation.html" . }}
{{- $script := resources.Get "js/script.js" -}}
<script src="{{ $script.Permalink }}" async></script>
</head>