ui: Übersichten wie Artikelseiten geboxt (Lesespalte), Oberabstand wie .single; Archiv grün / Library rot (Fuji)

- .collection wrappt Titel + Inhalt in die Lesespalte (≈48.5rem, zentriert);
  margin-top spacing-sm = identischer Oberabstand wie Artikel.
- Titel-Unterstrich + Kategorie-Linien in der Sektionsfarbe: Archiv kusa (grün),
  Library ichigo (rot).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-05 01:10:13 +02:00
parent 04bb79bcfa
commit f8c82ad4a2
3 changed files with 43 additions and 36 deletions
+7 -8
View File
@@ -1116,14 +1116,13 @@ a.byline-author:hover, a.journal-author:hover { color: var(--accent); }
max-width: 60ch; max-width: 60ch;
} }
/* Übersichts-Titel (Archiv/Library): wie ein Artikel-Heading, aber mit Linie /* Übersicht (Archiv/Library): wie eine Artikelseite — Inhalt in der Lesespalte
darunter — im selben Stil wie die Kategorie-Überschriften. */ (≈55ch, zentriert), gleicher Oberabstand wie .single, Titel mit Linie darunter
in der Sektionsfarbe (Archiv grün, Library rot). */
.collection { margin-top: var(--spacing-sm); }
.collection-title,
.collection-inner { max-width: 48.5rem; margin-inline: auto; }
.collection-title { .collection-title {
width: 100%;
/* rem-basiert (nicht ch): die geerbte ch-max-width skaliert mit der grossen
Titelschrift und würde die Linie über die volle Viewport-Breite ziehen.
52rem ≈ Inhaltsspalte → Titel + Linie fluchten mit Text/Kategorien. */
max-width: 52rem !important;
text-align: left; text-align: left;
font-family: var(--font-family-serif); font-family: var(--font-family-serif);
font-size: clamp(1.7rem, 3vw, 2.2rem); font-size: clamp(1.7rem, 3vw, 2.2rem);
@@ -1131,7 +1130,7 @@ a.byline-author:hover, a.journal-author:hover { color: var(--accent); }
letter-spacing: -0.015em; letter-spacing: -0.015em;
line-height: 1.12; line-height: 1.12;
color: var(--color-text-primary); color: var(--color-text-primary);
border-bottom: 3px solid var(--accent); border-bottom: 3px solid var(--section-color, var(--accent));
padding-bottom: var(--spacing-xs); padding-bottom: var(--spacing-xs);
margin: 0 0 var(--spacing-md); margin: 0 0 var(--spacing-md);
} }
+4
View File
@@ -1,7 +1,9 @@
{{ define "main" }} {{ define "main" }}
{{ if eq .Path "/archiv" }} {{ if eq .Path "/archiv" }}
{{/* Archiv root: Titel + Intro + Atlas (je Kategorie die letzten 10) */}} {{/* Archiv root: Titel + Intro + Atlas (je Kategorie die letzten 10) */}}
<div class="collection" style="--section-color: var(--palette-kusa)">
<h1 class="collection-title">{{ .Title }}</h1> <h1 class="collection-title">{{ .Title }}</h1>
<div class="collection-inner">
{{ .Content }} {{ .Content }}
<section class="atlas"> <section class="atlas">
{{ range .Sections.ByWeight }} {{ range .Sections.ByWeight }}
@@ -35,6 +37,8 @@
</article> </article>
{{ end }} {{ end }}
</section> </section>
</div>
</div>
{{ else if eq .Path "/archiv/software" }} {{ else if eq .Path "/archiv/software" }}
{{/* Software: kuratierte Landing — Werkzeuge (mit externem Link) getrennt {{/* Software: kuratierte Landing — Werkzeuge (mit externem Link) getrennt
von Texten & Anleitungen. */}} von Texten & Anleitungen. */}}
+4
View File
@@ -1,5 +1,7 @@
{{ define "main" }} {{ define "main" }}
<div class="collection" style="--section-color: var(--palette-ichigo)">
<h1 class="collection-title">{{ .Title }}</h1> <h1 class="collection-title">{{ .Title }}</h1>
<div class="collection-inner">
{{ .Content }} {{ .Content }}
{{ $pages := where site.RegularPages "Section" "library" }} {{ $pages := where site.RegularPages "Section" "library" }}
@@ -29,4 +31,6 @@
{{ else }} {{ else }}
<p class="text-muted"><em>Noch keine Einträge — der erste entsteht im Redaktions-Editor.</em></p> <p class="text-muted"><em>Noch keine Einträge — der erste entsteht im Redaktions-Editor.</em></p>
{{ end }} {{ end }}
</div>
</div>
{{ end }} {{ end }}