00c3343b1d
- Hugo site for openbureau.ch (Deutsch, i18n-ready for EN/IT) - Theme themes/openbureau/ = local copy of shibui, customized via site-level layouts and assets to keep the theme reference clean - Editorial typography stack: Newsreader serif body, Space Grotesk display, Inter for listings, IBM Plex Mono for technical meta - Content structure: library/ (Theorie, Büroführung, Software) with manifest and colophon at root; software is a library category, not a separate top-level - Three views over one source: Journal (chronological home), Library (atlas grouped by section + tag cloud), single articles Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
67 lines
2.3 KiB
HTML
Executable File
67 lines
2.3 KiB
HTML
Executable File
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="color-scheme" content="light" />
|
|
<link rel="preconnect" href="https://cdn.jsdelivr.net">
|
|
<link rel="dns-prefetch" href="https://cdn.jsdelivr.net">
|
|
<title>
|
|
{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title
|
|
site.Title }}{{ end }}
|
|
</title>
|
|
{{ with .Description | default .Site.Params.description }}<meta
|
|
name="description"
|
|
content="{{ . }}"
|
|
/>{{ end }} {{/* Canonical URL */}}
|
|
<link rel="canonical" href="{{ .Permalink }}" />
|
|
|
|
{{/* Open Graph */}}
|
|
<meta property="og:title" content="{{ .Title }}" />
|
|
{{ with .Description | default .Site.Params.description }}<meta
|
|
property="og:description"
|
|
content="{{ . }}"
|
|
/>{{ end }}
|
|
<meta
|
|
property="og:type"
|
|
content="{{ if .IsPage }}article{{ else }}website{{ end }}"
|
|
/>
|
|
<meta property="og:url" content="{{ .Permalink }}" />
|
|
{{ with .Site.Params.ogImage }}<meta
|
|
property="og:image"
|
|
content="{{ . | absURL }}"
|
|
/>{{ end }} {{/* Twitter Card */}}
|
|
<meta name="twitter:card" content="summary" />
|
|
<meta name="twitter:title" content="{{ .Title }}" />
|
|
{{ with .Description | default .Site.Params.description }}<meta
|
|
name="twitter:description"
|
|
content="{{ . }}"
|
|
/>{{ end }} {{ with .Site.Params.twitterHandle }}<meta
|
|
name="twitter:site"
|
|
content="@{{ . }}"
|
|
/>{{ end }} {{ with .Site.Params.ogImage }}<meta
|
|
name="twitter:image"
|
|
content="{{ . | absURL }}"
|
|
/>{{ end }} {{/* RSS Feed */}} {{ with .OutputFormats.Get "rss" -}} {{ printf
|
|
`<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type
|
|
.Permalink site.Title | safeHTML }} {{ end }} {{/* JSON-LD Structured Data for
|
|
Articles */}} {{ if .IsPage }}
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Article",
|
|
"headline": "{{ .Title }}",
|
|
"url": "{{ .Permalink }}",
|
|
"datePublished": "{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}",
|
|
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}"
|
|
{{- with .Site.Params.author }},
|
|
"author": {
|
|
"@type": "Person",
|
|
"name": "{{ .name | default . }}"
|
|
}
|
|
{{- end }}
|
|
{{- with $.Description | default $.Site.Params.description }},
|
|
"description": "{{ . }}"
|
|
{{- end }}
|
|
}
|
|
</script>
|
|
{{ end }} {{ partialCached "head/favicon.html" . }} {{ partialCached
|
|
"head/css.html" . }}
|