Add header

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-08-06 09:14:59 +02:00
parent 94733181ba
commit 44e00b55cf
9 changed files with 330 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
<!doctype html>
<html lang="{{- .Site.LanguageCode -}}">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>
{{- if .IsHome -}}
{{ .Site.Title }}
{{- else -}}
{{ .Site.Title }} &middot;
{{ .Title }}
{{- end -}}
</title>
{{ with .Site.Params.description }}
<meta name="description" content="{{- . -}}" />
{{ end }}
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="all,follow" />
<meta name="googlebot" content="index,follow,snippet,archive" />
{{ with resources.Get "sass/main.scss" }}
{{ with . | toCSS (dict "targetPath" "css/main.css") | fingerprint }}
<link
rel="stylesheet"
href="{{- .RelPermalink -}}"
integrity="{{- .Data.Integrity -}}"
/>
{{ end }}
{{ end }}
{{ with .OutputFormats.Get "RSS" }}
{{ printf `
<link href="%s" rel="%s" type="%s" title="%s" />` .Permalink .Rel .MediaType.Type $.Site.Title | safeHTML
}}
{{ end }}
{{ partial "opengraph.html" . }}
{{ partial "twitter.html" . }}
</head>
<body>
{{ partial "header.html" . }}
{{ block "main" . }}
{{ end }}
{{ partial "footer.html" . }}
</body>
</html>

2
layouts/index.html Normal file
View File

@@ -0,0 +1,2 @@
{{ define "main" }}
{{ end }}

View File

View File

@@ -0,0 +1,26 @@
<header class="header">
<div class="header-container">
<div class="site-title">
<a href="{{- "/" | relURL -}}">{{ .Site.Title }}</a>
</div>
<input
type="checkbox"
id="nav-toggle"
class="nav-toggle"
aria-label="Toggle navigation"
/>
<label for="nav-toggle" class="nav-toggle-label">
<span></span>
<span></span>
</label>
<nav class="nav">
<ul>
{{ range .Site.Params.navigation }}
<li><a href="{{- .url -}}">{{ .name }}</a></li>
{{ end }}
</ul>
</nav>
</div>
</header>

View File

@@ -0,0 +1,80 @@
<meta property="og:title" content="{{ .Title }}" />
<meta
property="og:description"
content="{{- with .Description -}}
{{- . -}}
{{- else -}}
{{- if .IsPage -}}
{{- with .Site.Params.description -}}{{- . -}}{{- end -}}
{{- end -}}
{{- end -}}"
/>
<meta
property="og:type"
content="{{- if .IsPage -}}
article
{{- else -}}
website
{{- end -}}"
/>
<meta property="og:url" content="{{- .Permalink -}}" />
{{ with .Params.image }}
{{ $image := $.Resources.GetMatch . }}
{{ with $image }}
{{ $thumb := .Resize "400x" }}
<meta property="og:image" content="{{- $thumb.Permalink -}}" />
{{ end }}
{{ end }}
{{ $iso8601 := "2000-01-01T00:00:00-01:00" }}
{{ if .IsPage }}
{{ if not .PublishDate.IsZero }}
<meta
property="article:published_time"
{{ .PublishDate.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}
/>
{{ else if not .Date.IsZero }}
<meta
property="article:published_time"
{{ .Date.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}
/>
{{ end }}
{{ end }}
{{/* .IsPage */}}
{{ with .Params.audio }}
<meta property="og:audio" content="{{- . -}}" />
{{ end }}
{{ with .Params.locale }}
<meta property="og:locale" content="{{- . -}}" />
{{ end }}
{{ with .Site.Params.title }}
<meta property="og:site_name" content="{{- . -}}" />
{{ end }}
{{ with .Params.videos }}
{{ range . }}
<meta property="og:video" content="{{- . | absURL -}}" />
{{ end }}
{{ end }}
{{ $permalink := .Permalink }}
{{ $siteSeries := .Site.Taxonomies.series }}{{ with .Params.series }}
{{ range $name := . }}
{{ $series := index $siteSeries $name }}
{{ range $page := first 6 $series.Pages }}
{{ if ne $page.Permalink $permalink }}
<meta property="og:see_also" content="{{- $page.Permalink -}}" />
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ if .IsPage }}
<meta property="article:section" content="{{- .Section -}}" />
{{ with .Params.tags }}
{{ range . }}
<meta property="article:tag" content="{{- . -}}" />
{{ end }}
{{ end }}
{{ end }}

View File

@@ -0,0 +1,23 @@
{{ with .Params.image }}
{{ $image := $.Resources.GetMatch . }}
{{ with $image }}
{{ $thumb := .Resize "400x" }}
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="{{- $thumb.Permalink -}}" />
{{ end }}
{{ end }}
<meta name="twitter:title" content="{{- .Title -}}" />
<meta
name="twitter:description"
content="{{- with .Description -}}
{{- . -}}
{{- else -}}
{{- if .IsPage -}}
{{- .Summary -}}
{{- else -}}
{{- with .Site.Params.description -}}{{- . -}}{{- end -}}
{{- end -}}
{{- end -}}"
/>