hugo-PaperMod/layouts/partials/header.html

104 lines
3.8 KiB
HTML
Raw Normal View History

2018-01-08 17:28:39 +01:00
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
2019-03-31 14:32:06 +02:00
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Title -->
2020-03-09 18:50:02 +01:00
<title>{{ if .Title }}{{ .Title }} - {{ end }}{{ .Site.Title }}</title>
2019-03-31 14:32:06 +02:00
<!-- Meta -->
{{- if eq .Kind "page" }}
<meta name="description" content="{{ .Summary }}">
<meta name="author" content="{{ .Params.author | default .Site.Params.author }}">
2020-03-09 16:56:47 +01:00
{{- else }}
2019-03-31 14:32:06 +02:00
<meta name="description" content="{{ .Site.Params.description }}">
<meta name="author" content="{{ .Site.Params.author }}">
2020-03-09 16:56:47 +01:00
{{- end }}
2019-03-31 14:32:06 +02:00
<!-- Styles -->
{{ $anoldhope := resources.Get "an-old-hope.min.css" | minify }}
{{ $style := resources.Get "style.css" | minify }}
{{ $stylesheet := slice $anoldhope $style | resources.Concat "stylesheet.css" | minify }}
<link href="{{ $stylesheet.Permalink }}" rel="stylesheet">
2020-03-05 05:30:42 +01:00
<link href="{{ "custom.css" | absURL }}" rel="stylesheet">
2019-03-31 14:32:06 +02:00
<!-- Favicons -->
2019-08-19 22:12:49 +02:00
<link rel="apple-touch-icon" href="{{ "apple-touch-icon.png" | absURL }}">
<link rel="icon" href="{{ "favicon.ico" | absURL }}">
2019-03-31 14:32:06 +02:00
<!-- Generator -->
2020-03-09 16:56:47 +01:00
{{- hugo.Generator }}
2019-03-31 14:32:06 +02:00
<!-- RSS -->
2020-05-25 07:42:32 +02:00
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
2019-06-10 21:29:55 +02:00
<!-- Misc -->
2020-03-09 16:56:47 +01:00
{{- if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production") }}
{{- template "_internal/google_analytics_async.html" . }}
{{- template "_internal/opengraph.html" . }}
{{- end }}
2019-10-15 22:15:16 +02:00
<!-- Script -->
<script>
function setTheme() {
2019-10-16 21:02:35 +02:00
const time = new Date();
const prev = localStorage.getItem('date');
2019-10-20 12:20:15 +02:00
const date = String(time.getMonth() + 1) + '.' + String(time.getDate());
2019-10-16 21:02:35 +02:00
const now = time.getTime();
2019-10-16 05:27:49 +02:00
let sunrise;
let sunset;
2019-10-15 22:15:16 +02:00
2019-10-16 05:27:49 +02:00
function setBodyClass() {
2019-10-15 22:15:16 +02:00
if (now > sunrise && now < sunset) return;
2019-10-16 21:02:35 +02:00
document.body.classList.add('dark');
2019-10-15 22:15:16 +02:00
}
2019-10-16 21:02:35 +02:00
if (date !== prev) {
2019-10-15 22:15:16 +02:00
fetch('https://api.ipgeolocation.io/astronomy?apiKey=5ed37d85103e4defa5df4c5298ed5215')
.then(res => res.json())
.then(data => {
2019-10-16 05:27:49 +02:00
sunrise = data.sunrise.split(':').map(Number);
sunset = data.sunset.split(':').map(Number);
2019-10-15 22:15:16 +02:00
})
.catch(() => {
2019-10-16 05:27:49 +02:00
sunrise = [7, 0];
sunset = [19, 0];
2019-10-15 22:15:16 +02:00
})
.finally(() => {
2019-10-16 21:02:35 +02:00
sunrise = time.setHours(sunrise[0], sunrise[1], 0);
sunset = time.setHours(sunset[0], sunset[1], 0);
2019-10-16 05:27:49 +02:00
setBodyClass();
2019-10-15 22:15:16 +02:00
localStorage.setItem('sunrise', sunrise);
localStorage.setItem('sunset', sunset);
});
2019-10-16 21:02:35 +02:00
localStorage.setItem('date', date);
2019-10-15 22:15:16 +02:00
} else {
2019-10-16 05:27:49 +02:00
sunrise = Number(localStorage.getItem('sunrise'));
sunset = Number(localStorage.getItem('sunset'));
setBodyClass();
2019-10-15 22:15:16 +02:00
}
}
</script>
2019-03-31 14:32:06 +02:00
</head>
2020-03-09 16:56:47 +01:00
<body class="{{ if eq .Kind `page` }}single{{ else }}list{{ if .IsHome }} home{{ end }}{{ end }}">
2019-10-15 22:15:16 +02:00
<script>
setTheme();
</script>
2019-03-31 14:32:06 +02:00
<header class="header">
2019-08-19 22:12:49 +02:00
<nav class="nav">
2020-03-09 16:56:47 +01:00
{{- if .IsHome }}
2019-06-10 00:59:08 +02:00
<h1 class="logo"><a href="{{ "" | absURL }}">{{ .Site.Title }}</a></h1>
2020-03-09 16:56:47 +01:00
{{- else }}
2019-06-10 00:59:08 +02:00
<p class="logo"><a href="{{ "" | absURL }}">{{ .Site.Title }}</a></p>
2020-03-09 16:56:47 +01:00
{{- end }}
{{- if .Site.Menus.main }}
2019-08-19 22:12:49 +02:00
<ul class="menu">
2020-03-09 16:56:47 +01:00
{{- range .Site.Menus.main }}
2019-08-19 22:12:49 +02:00
<li>
<a href="{{ .URL }}">{{ .Name }}</a>
</li>
2020-03-09 16:56:47 +01:00
{{- end }}
2019-08-19 22:12:49 +02:00
</ul>
2020-03-09 16:56:47 +01:00
{{- end }}
2019-08-19 22:12:49 +02:00
</nav>
2019-03-31 14:32:06 +02:00
</header>
<main class="main">