From d5f35bb9f8c8aa86e63e3d7b7b2b217e6612ce36 Mon Sep 17 00:00:00 2001 From: karim Date: Thu, 4 Jun 2026 23:47:53 +0200 Subject: [PATCH] ui: Headings kleiner + Library als Archiv-Zwilling (Sidebar weg) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- assets/css/custom.css | 59 +++++++++------------------- layouts/_partials/library-nav.html | 41 -------------------- layouts/library/list.html | 62 +++++++++++++----------------- layouts/library/single.html | 58 ++++++++++++++-------------- 4 files changed, 75 insertions(+), 145 deletions(-) delete mode 100644 layouts/_partials/library-nav.html diff --git a/assets/css/custom.css b/assets/css/custom.css index 9fb5e07..2ba4a9e 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -719,36 +719,15 @@ a.byline-author:hover, a.journal-author:hover { color: var(--accent); } .dialog-hint { font-size: var(--font-size-small); color: var(--color-text-muted); align-self: center; opacity: 0.7; } .dialog-spacer { flex: 1; } -/* ── Library/Wiki-Bereich: zentrierter Section-Header (wie Archiv) darüber, - zweispaltige Fläche (Seitenleiste + Inhalt) darunter. ── */ -.wiki { display: grid; grid-template-columns: 200px 1fr; gap: 2.6em; align-items: start; } -@media (max-width: 760px) { .wiki { grid-template-columns: 1fr; gap: 1.4em; } .wiki-side { position: static; } } -.wiki-side { position: sticky; top: 1em; align-self: start; } -.wiki-nav { display: flex; flex-direction: column; gap: 0.35em; font-size: var(--font-size-small); } -.wiki-nav-home { text-decoration: none; color: var(--color-text-primary); font-weight: 600; } -.wiki-nav-home:hover { color: var(--accent); } -.wiki-nav-home.is-current { color: var(--accent); } -.wiki-filter { width: 100%; padding: 0.4em 0.7em; margin: 0.3em 0 0.4em; font: inherit; font-size: var(--font-size-small); - border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-bg-primary); } -.wiki-filter:focus { outline: none; border-color: var(--accent); } -.wiki-nav-title { text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.7rem; color: var(--color-text-muted); margin: 0.8em 0 0.25em; } -.wiki-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.1em; } -.wiki-nav li a { display: block; text-decoration: none; color: var(--color-text-muted); - padding: 0.18em 0 0.18em 0.7em; border-left: 2px solid transparent; } -.wiki-nav li a:hover { color: var(--accent); } -.wiki-nav li a.is-current { color: var(--color-text-primary); font-weight: 600; border-left-color: var(--accent); } - -.wiki-page { min-width: 0; } -.wiki-index { margin-top: var(--spacing-md); } -.wiki-group { margin-bottom: var(--spacing-md); } -.wiki-group h2 { font-family: var(--font-family-serif); font-size: 1.1rem; margin: 0 0 0.4em; } -.wiki-group ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4em; } -.wiki-group li a { font-weight: 600; text-decoration: none; } -.wiki-group li a:hover { color: var(--accent); } -.wiki-foot { margin-top: var(--spacing-lg); padding-top: var(--spacing-sm); border-top: 1px solid var(--color-border); - display: flex; gap: 1.2em; flex-wrap: wrap; font-size: var(--font-size-small); color: var(--color-text-muted); } -.wiki-foot a { color: var(--color-text-muted); text-decoration: none; } -.wiki-foot a:hover { color: var(--accent); } +/* ── Library: gleiches Gerüst wie Archiv (Übersicht = .atlas, Eintrag = .single). + Eintrags-Fuss: Gruppe + weitere Einträge + bearbeiten-Link. ── */ +.entry-foot { margin-top: var(--spacing-lg); padding-top: var(--spacing-sm); border-top: 1px solid var(--color-border); + display: flex; gap: 0.6em 1.2em; flex-wrap: wrap; align-items: baseline; font-size: var(--font-size-small); color: var(--color-text-muted); } +.entry-foot .entry-more { flex: 1; min-width: 14em; } +.entry-foot .entry-more a { color: var(--accent); text-decoration: none; } +.entry-foot .entry-more a:hover { text-decoration: underline; text-underline-offset: 0.2em; } +.entry-foot a { color: var(--color-text-muted); text-decoration: none; } +.entry-foot a:hover { color: var(--accent); } /* ── Software-Landing: Werkzeuge getrennt von Texten ── */ .software-h { font-family: var(--font-family-serif); margin: var(--spacing-md) 0 var(--spacing-sm); } @@ -1124,10 +1103,10 @@ a.byline-author:hover, a.journal-author:hover { color: var(--accent); } } .section-title { font-family: var(--font-family-serif); - font-size: clamp(1.9rem, 4vw, 2.6rem); - font-weight: 800; - letter-spacing: -0.026em; - line-height: 1.05; + font-size: clamp(1.5rem, 2.6vw, 1.9rem); + font-weight: 700; + letter-spacing: -0.012em; + line-height: 1.1; margin: 0 0 0.4rem; } .section-description { @@ -1243,17 +1222,17 @@ a.byline-author:hover, a.journal-author:hover { color: var(--accent); } } .single-header h1 { font-family: var(--font-family-serif); - font-size: clamp(2.1rem, 4.6vw, 3rem); - font-weight: 800; - letter-spacing: -0.028em; - line-height: 1.05; + font-size: clamp(1.7rem, 3vw, 2.2rem); + font-weight: 700; + letter-spacing: -0.015em; + line-height: 1.12; margin: 0 0 var(--spacing-sm); } .single-summary { font-family: var(--font-family-serif); font-style: normal; - font-size: 1.4rem; - line-height: 1.4; + font-size: 1.2rem; + line-height: 1.45; color: var(--color-text-primary); margin: 0 0 var(--spacing-md); /* breathing room before byline */ max-width: 55ch; diff --git a/layouts/_partials/library-nav.html b/layouts/_partials/library-nav.html deleted file mode 100644 index d9c4d28..0000000 --- a/layouts/_partials/library-nav.html +++ /dev/null @@ -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 -}} - - diff --git a/layouts/library/list.html b/layouts/library/list.html index 8496839..8c86768 100644 --- a/layouts/library/list.html +++ b/layouts/library/list.html @@ -1,41 +1,31 @@ {{ define "main" }} -
-

{{ .Title }}

-
+ {{ .Content }} -
- + {{ $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 }} -
-
{{ .Content }}
- - {{ $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 .)) }} + {{ if $pages }} +
+ {{ range $g, $ps := $groups }} +
+

{{ $g }}

+
    + {{ range sort $ps "Title" }} +
  • + {{ .LinkTitle }} + {{ with .Params.summary }} — {{ . }}{{ end }} +
  • + {{ end }} +
+
{{ end }} - - {{ if $pages }} -
- {{ range $g, $ps := $groups }} -
-

{{ $g }}

-
    - {{ range sort $ps "Title" }} -
  • - {{ .LinkTitle }} - {{ with .Params.summary }} — {{ . }}{{ end }} -
  • - {{ end }} -
-
- {{ end }} -
- {{ else }} -

Noch keine Einträge — der erste entsteht im Redaktions-Editor.

- {{ end }} -
-
+ + {{ else }} +

Noch keine Einträge — der erste entsteht im Redaktions-Editor.

+ {{ end }} {{ end }} diff --git a/layouts/library/single.html b/layouts/library/single.html index 388bcd7..c4b3d52 100644 --- a/layouts/library/single.html +++ b/layouts/library/single.html @@ -1,33 +1,35 @@ {{ define "main" }} -
-

{{ with .Params.group }}{{ . }}{{ else }}Library{{ end }}

-

{{ .Title }}

- {{ with .Params.summary }}

{{ . }}

{{ end }} -
+
+
+

{{ .Title }}

+ {{ with .Params.summary }}

{{ . }}

{{ end }} +
-
- + {{ $hasToC := .Params.toc | default false }} + {{ $headers := findRE " + Inhalt +
{{ .TableOfContents }}
+ + {{ end }} -
- {{ $hasToC := .Params.toc | default false }} - {{ $headers := findRE " - Inhalt -
{{ .TableOfContents }}
- - {{ end }} - -
- {{ .Content }} -
- -
- {{ if .Lastmod }}Zuletzt bearbeitet am {{ .Lastmod.Format "02.01.2006" }}{{ end }} - {{ with .File }} - bearbeiten ↗ - {{ end }} -
+
+ {{ .Content }}
-
+ + {{/* Fuss: Gruppe + weitere Einträge derselben Gruppe + bearbeiten. */}} + {{ $g := .Params.group | default "Allgemein" }} + {{ $siblings := where (where site.RegularPages "Section" "library") "Params.group" (.Params.group) }} +
+ + {{ $g }} + {{ $others := slice }} + {{ range $siblings }}{{ if ne .RelPermalink $.RelPermalink }}{{ $others = $others | append . }}{{ end }}{{ end }} + {{ with $others }} · {{ range $i, $p := . }}{{ if $i }} · {{ end }}{{ $p.LinkTitle }}{{ end }}{{ end }} + + {{ if .Lastmod }}Zuletzt bearbeitet am {{ .Lastmod.Format "02.01.2006" }}{{ end }} + {{ with .File }}bearbeiten ↗{{ end }} +
+
{{ end }}