ui: Headings kleiner + Library als Archiv-Zwilling (Sidebar weg)

- section-title 2.6→1.9rem max, 800→700; single-header h1 3→2.2rem max, 800→700;
  single-summary 1.4→1.2rem. Ruhiger, redaktioneller, site-weit.
- Library raus aus der zweispaltigen Sonderform: Übersicht = .atlas (gruppiert,
  wie Archiv-Root), Eintrag = .single (wie Essay) mit Quellen + Fuss
  (Gruppe · weitere Einträge · bearbeiten). library-nav-Partial entfernt.
- Voll CI-konform: Archiv und Library teilen jetzt dasselbe Gerüst.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-04 23:47:53 +02:00
parent ef024921ab
commit d5f35bb9f8
4 changed files with 75 additions and 145 deletions
-41
View File
@@ -1,41 +0,0 @@
{{- /* Library-Seitenleiste: alle Library-Seiten nach `group` gruppiert, mit Filter.
Seiten ohne `group` landen unter „Allgemein“. */ -}}
{{- $cur := .RelPermalink -}}
{{- $pages := where site.RegularPages "Section" "library" -}}
{{- $groups := dict -}}
{{- range $pages -}}
{{- $g := .Params.group | default "Allgemein" -}}
{{- $existing := index $groups $g | default slice -}}
{{- $groups = merge $groups (dict $g ($existing | append .)) -}}
{{- end -}}
<nav class="wiki-nav" aria-label="Wiki-Navigation">
<a class="wiki-nav-home{{ if .IsSection }} is-current{{ end }}" href="/wiki/">Übersicht</a>
<input class="wiki-filter" type="search" placeholder="filtern…" aria-label="Wiki filtern" autocomplete="off" />
{{- range $g, $ps := $groups }}
<div class="wiki-nav-group">
<div class="wiki-nav-title">{{ $g }}</div>
<ul>
{{- range sort $ps "Title" }}
<li><a href="{{ .RelPermalink }}"{{ if eq .RelPermalink $cur }} class="is-current" aria-current="page"{{ end }}>{{ .LinkTitle }}</a></li>
{{- end }}
</ul>
</div>
{{- end }}
</nav>
<script>
(function () {
if (window.__wikiFilter) return; window.__wikiFilter = 1;
var inp = document.querySelector('.wiki-filter'); if (!inp) return;
inp.addEventListener('input', function () {
var q = inp.value.trim().toLowerCase();
document.querySelectorAll('.wiki-nav-group').forEach(function (g) {
var any = false;
g.querySelectorAll('li').forEach(function (li) {
var hit = li.textContent.toLowerCase().indexOf(q) > -1;
li.style.display = hit ? '' : 'none'; if (hit) any = true;
});
g.style.display = any ? '' : 'none';
});
});
})();
</script>