init: scaffold OPENBUREAU site with shibui-derived theme
- 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>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html>
|
||||
<html
|
||||
lang="{{ site.Language.Locale | default site.Language.Lang }}"
|
||||
dir="{{ or site.Language.Direction `ltr` }}"
|
||||
>
|
||||
<head>
|
||||
{{ partial "head.html" . }}
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main-content" class="skip-link">Skip to content</a>
|
||||
<header role="banner" class="site-header">
|
||||
<a href="{{ "/" | relURL }}" class="wordmark-link">OPENBUREAU</a>
|
||||
<nav class="site-nav" aria-label="Site">
|
||||
{{ partial "menu.html" (dict "menuID" "main" "page" .) }}
|
||||
</nav>
|
||||
</header>
|
||||
<main id="main-content" role="main">{{ block "main" . }}{{ end }}</main>
|
||||
{{ if not .IsHome }}
|
||||
<nav class="page-foot-nav" aria-label="Breadcrumb">
|
||||
{{ partial "header.html" . }}
|
||||
</nav>
|
||||
{{ end }}
|
||||
<footer role="contentinfo">{{ partial "footer.html" . }}</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,41 @@
|
||||
{{ define "main" }}
|
||||
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
|
||||
|
||||
<article class="single">
|
||||
<header class="single-header">
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ with .Params.summary }}
|
||||
<p class="single-summary text-muted">{{ . }}</p>
|
||||
{{ end }}
|
||||
</header>
|
||||
|
||||
{{/* Table of Contents */}}
|
||||
{{ $hasToC := .Params.toc | default true }}
|
||||
{{ $headers := findRE "<h[2-6]" .Content }}
|
||||
{{ if and $hasToC (ge (len $headers) 1) }}
|
||||
<nav class="toc">
|
||||
<strong>Inhalt</strong>
|
||||
<div class="toc-content">{{ .TableOfContents }}</div>
|
||||
</nav>
|
||||
{{ end }}
|
||||
|
||||
<div class="single-content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
|
||||
<div class="time">
|
||||
{{ partial "date.html" .Date }}
|
||||
{{ $showReadingTime := .Params.showreadingtime | default site.Params.showreadingtime | default true }}
|
||||
{{ if and $showReadingTime .ReadingTime }}
|
||||
<span class="reading-time"> · {{ .ReadingTime }} min Lesezeit</span>
|
||||
{{ end }}
|
||||
{{ $showLastMod := .Params.showlastmod | default site.Params.showlastmod | default false }}
|
||||
{{ if and $showLastMod .Lastmod }}
|
||||
{{ if ne (.Lastmod.Format "2006-01-02") (.Date.Format "2006-01-02") }}
|
||||
<span class="lastmod"> · Zuletzt aktualisiert: {{ .Lastmod.Format "2006-01-02" }}</span>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</article>
|
||||
|
||||
{{ end }}
|
||||
Reference in New Issue
Block a user