- layouts/partials/head.html: full <head> partial with meta partials + CSS pipeline - layouts/partials/meta/seo.html: canonical URL + robots directives - layouts/partials/meta/og.html: Open Graph + Twitter Card meta tags - layouts/partials/meta/ai-disclosure.html: AI content disclosure (EU AI Act) - layouts/partials/meta/json-ld.html: Schema.org JSON-LD structured data - layouts/partials/tag-nav.html: site-wide tag cloud partial - layouts/_default/baseof.html: simplified to use partial head.html - layouts/_default/single.html: removed inline head block (now in head.html) Verified: canonical, robots, OG tags, ai-content-disclosure on live pages. 96 pages build clean. Closes: asw#15
26 lines
1.2 KiB
HTML
26 lines
1.2 KiB
HTML
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="color-scheme" content="dark light">
|
|
<title>
|
|
{{- if .IsHome -}}
|
|
{{ .Site.Title }}
|
|
{{- else -}}
|
|
{{ .Title }} · {{ .Site.Title }}
|
|
{{- end -}}
|
|
</title>
|
|
{{- with .Description }}<meta name="description" content="{{ . }}">{{- end }}
|
|
{{- if not .Description }}{{- with .Site.Params.description }}<meta name="description" content="{{ . }}">{{- end }}{{- end }}
|
|
|
|
{{- /* ── Meta partials ─────────────────────────────────────────── */}}
|
|
{{- partial "meta/seo.html" . -}}
|
|
{{- partial "meta/og.html" . -}}
|
|
{{- partial "meta/ai-disclosure.html" . -}}
|
|
{{- partial "meta/json-ld.html" . -}}
|
|
|
|
{{- /* ── CSS — fingerprinted via Hugo Pipes ─────────────────────── */}}
|
|
{{ $css := resources.Get "css/asw-built.css" | minify | fingerprint }}
|
|
<link rel="stylesheet" href="{{ $css.RelPermalink }}">
|
|
|
|
{{- range .AlternativeOutputFormats -}}
|
|
<link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
|
|
{{- end }}
|