From 46ee91279e1b91d3e4b8e03bed0b52b79f6f571d Mon Sep 17 00:00:00 2001 From: karim Date: Fri, 5 Jun 2026 21:16:30 +0200 Subject: [PATCH] =?UTF-8?q?feature(archiv):=20Umschalter=20Kategorie=20?= =?UTF-8?q?=E2=86=94=20Jahr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Übersicht /archiv umschaltbar: nach Kategorie (Jahr hinter dem Beitrag, je Rubrik die letzten 10 + 'alle →') oder nach Jahr (Kategorie hinter dem Beitrag, alle). Clientseitig, merkt die Wahl in localStorage. Co-Authored-By: Claude Opus 4.8 --- assets/css/custom.css | 15 +++++++ layouts/archiv/list.html | 93 +++++++++++++++++++++++++++++----------- 2 files changed, 83 insertions(+), 25 deletions(-) diff --git a/assets/css/custom.css b/assets/css/custom.css index 3fdf805..ee3b18b 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -1135,6 +1135,21 @@ a.byline-author:hover, a.journal-author:hover { color: var(--accent); } margin: 0 0 var(--spacing-md); } +/* Archiv-Umschalter (Kategorie ↔ Jahr) */ +.archiv-toggle { display: inline-flex; gap: 0.3em; margin: 0 0 var(--spacing-md); } +.archiv-toggle button { + font: inherit; font-size: var(--font-size-small); cursor: pointer; + padding: 0.3em 0.95em; border-radius: 999px; + background: none; border: 1px solid var(--color-border); color: var(--color-text-muted); +} +.archiv-toggle button:hover { border-color: var(--section-color, var(--accent)); color: var(--color-text-primary); } +.archiv-toggle button.is-active { + background: var(--section-color, var(--accent)); + border-color: var(--section-color, var(--accent)); + color: var(--color-text-primary); font-weight: 600; +} +.archiv-view[hidden] { display: none; } + .time-list ul { list-style: none; margin-left: 0; diff --git a/layouts/archiv/list.html b/layouts/archiv/list.html index 52b9b1f..f9c2963 100644 --- a/layouts/archiv/list.html +++ b/layouts/archiv/list.html @@ -1,44 +1,86 @@ {{ define "main" }} {{ if eq .Path "/archiv" }} - {{/* Archiv root: Titel + Intro + Atlas (je Kategorie die letzten 10) */}} + {{/* Archiv-Übersicht: Umschalter Kategorie ↔ Jahr */}}

{{ .Title }}

{{ .Content }} -
- {{ range .Sections.ByWeight }} - {{ $section := path.Base .RelPermalink }} -
-

{{ .Title }}

- {{ with .Params.description }}

{{ . }}

{{ end }} + +
+ + +
+ + {{/* Ansicht nach Kategorie — Jahr hinter dem Beitrag, je Rubrik die letzten 10 */}} +
+
+ {{ range .Sections.ByWeight }} + {{ $section := path.Base .RelPermalink }} +
+

{{ .Title }}

+ {{ with .Params.description }}

{{ . }}

{{ end }} +
    + {{ range first 10 .RegularPages.ByDate.Reverse }} +
  • + {{ .LinkTitle }} + · {{ .Date.Format "2006" }} +
  • + {{ end }} +
+ {{ if gt (len .RegularPages) 10 }} +

alle in {{ .Title }} →

+ {{ end }} +
+ {{ end }} + + {{ with site.Taxonomies.tags }} + + {{ end }} +
+
+ + {{/* Ansicht nach Jahr — Kategorie hinter dem Beitrag, alle Beiträge */}} + - {{/* Tag-Cloud */}} - {{ with site.Taxonomies.tags }} - - {{ end }} -
+
+ {{ else if eq .Path "/archiv/software" }} {{/* Software: kuratierte Landing — Werkzeuge (mit externem Link) getrennt von Texten & Anleitungen. */}} @@ -88,8 +130,9 @@ + {{ else }} - {{/* Library subsection: chronologisch */}} + {{/* Archiv-Unterseite (Rubrik): chronologisch */}} {{ $section := path.Base .RelPermalink }}

Archiv