From 790141bafecff2d3516374a13b40329b42c6f115 Mon Sep 17 00:00:00 2001 From: karim Date: Thu, 4 Jun 2026 22:13:50 +0200 Subject: [PATCH] =?UTF-8?q?ia:=20Umbenennung=20=E2=80=94=20Library?= =?UTF-8?q?=E2=86=92Archiv,=20Wiki=E2=86=92Library=20(URLs,=20Content,=20C?= =?UTF-8?q?ode)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neue Informationsarchitektur: - ARCHIV (/archiv) = die fertigen Texte (vormals Library): Essays mit Byline, Quellen/Zitieren, Dialog, Versionsverlauf. Section "archiv". - LIBRARY (/library) = das verlinkte Werkstattwissen (vormals Wiki): zwei- spaltig mit Gruppen-Navigation + Filter. Section "library". Umgesetzt: - content/ + layouts/ verschoben (git mv), Menü (ARCHIV+LIBRARY, kein WIKI), Startseiten-Journal zieht jetzt Section "archiv", Querverweise umgeschrieben (/library→/archiv, /wiki→/library). - CMS: files.js klassifiziert archiv/→beitrag, library/→biblio; stats.js + Admin (Typ "Library-Seite", KIND_LABEL, Pfade) nachgezogen. - single.html: Byline/Provenance/Dialog an Section "archiv" gebunden. - Beide Header zentriert (section-header) — einheitlicher Look. - Interne Dialog-Werte (thread.kind='library', Forum "Beiträge") unverändert. Co-Authored-By: Claude Opus 4.8 --- archetypes/{wiki.md => library.md} | 0 assets/css/custom.css | 17 +-- cms/admin/src/App.jsx | 20 +-- cms/api/src/files.js | 13 +- cms/api/src/routes/stats.js | 4 +- content/archiv/_index.md | 6 + .../buerofuehrung/_index.md | 0 .../buerofuehrung/muster-offen-arbeiten.md | 2 +- .../buerofuehrung/warum-offen.md | 0 .../{library => archiv}/software/_index.md | 0 .../{library => archiv}/software/dossier.md | 0 .../software/eigene-werkzeuge.md | 2 +- .../software/muster-werkzeugkette.md | 2 +- .../software/proxmox-schritt-fuer-schritt.md | 2 +- .../{library => archiv}/software/rapport.md | 0 .../software/server-im-eigenen-haus.md | 2 +- content/{library => archiv}/software/stack.md | 4 +- content/{library => archiv}/theorie/_index.md | 0 .../theorie/muster-typologie-fussnoten.md | 0 .../theorie/typologie-als-werkzeug.md | 0 content/library/_index.md | 7 +- content/{wiki => library}/dateiablage.md | 0 content/{wiki => library}/typus.md | 2 +- .../wie-die-library-funktioniert.md} | 8 +- content/wiki/_index.md | 8 -- hugo.yaml | 4 +- layouts/_default/single.html | 6 +- .../{wiki-nav.html => library-nav.html} | 4 +- layouts/archiv/list.html | 113 +++++++++++++++ layouts/index.html | 8 +- layouts/library/list.html | 136 +++++------------- layouts/{wiki => library}/single.html | 13 +- layouts/wiki/list.html | 40 ------ 33 files changed, 208 insertions(+), 215 deletions(-) rename archetypes/{wiki.md => library.md} (100%) create mode 100644 content/archiv/_index.md rename content/{library => archiv}/buerofuehrung/_index.md (100%) rename content/{library => archiv}/buerofuehrung/muster-offen-arbeiten.md (91%) rename content/{library => archiv}/buerofuehrung/warum-offen.md (100%) rename content/{library => archiv}/software/_index.md (100%) rename content/{library => archiv}/software/dossier.md (100%) rename content/{library => archiv}/software/eigene-werkzeuge.md (96%) rename content/{library => archiv}/software/muster-werkzeugkette.md (79%) rename content/{library => archiv}/software/proxmox-schritt-fuer-schritt.md (94%) rename content/{library => archiv}/software/rapport.md (100%) rename content/{library => archiv}/software/server-im-eigenen-haus.md (98%) rename content/{library => archiv}/software/stack.md (90%) rename content/{library => archiv}/theorie/_index.md (100%) rename content/{library => archiv}/theorie/muster-typologie-fussnoten.md (100%) rename content/{library => archiv}/theorie/typologie-als-werkzeug.md (100%) rename content/{wiki => library}/dateiablage.md (100%) rename content/{wiki => library}/typus.md (85%) rename content/{wiki/wie-dieses-wiki-funktioniert.md => library/wie-die-library-funktioniert.md} (65%) delete mode 100644 content/wiki/_index.md rename layouts/_partials/{wiki-nav.html => library-nav.html} (91%) create mode 100644 layouts/archiv/list.html rename layouts/{wiki => library}/single.html (69%) delete mode 100644 layouts/wiki/list.html diff --git a/archetypes/wiki.md b/archetypes/library.md similarity index 100% rename from archetypes/wiki.md rename to archetypes/library.md diff --git a/assets/css/custom.css b/assets/css/custom.css index 667a463..9fb5e07 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -719,19 +719,10 @@ 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; } -/* ── Wiki: vollbreiter Section-Header (wie Library) + zwei Spalten darunter. - Gleiche max-width/Zentrierung wie der normale Inhalt → Wiki- und Library- - Header fluchten exakt. ── */ -.wiki { - display: grid; - grid-template-columns: 200px 1fr; - column-gap: 2.6em; row-gap: var(--spacing-sm); - align-items: start; - max-width: calc(var(--container-width) + 3.5rem); - margin-inline: auto; -} -.wiki > .section-header { grid-column: 1 / -1; margin-top: 0; } -@media (max-width: 760px) { .wiki { grid-template-columns: 1fr; column-gap: 0; } .wiki-side { position: static; } } +/* ── 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; } diff --git a/cms/admin/src/App.jsx b/cms/admin/src/App.jsx index 82a06c8..1a260b5 100644 --- a/cms/admin/src/App.jsx +++ b/cms/admin/src/App.jsx @@ -22,7 +22,7 @@ const hexOf = (name) => (COLORS.find((c) => c[0] === name) || [])[2] || 'transpa const LAYOUTS = ['', 'text', 'image', 'icon']; const SECTIONS = ['buerofuehrung', 'software', 'theorie']; -const KIND_LABEL = { beitrag: 'Beiträge', wiki: 'Wiki', seite: 'Seiten', rubrik: 'Rubriken' }; +const KIND_LABEL = { beitrag: 'Beiträge', biblio: 'Library', seite: 'Seiten', rubrik: 'Rubriken' }; const EMPTY = { isNew: true, path: '', type: 'beitrag', section: 'software', slug: '', @@ -89,7 +89,7 @@ function Dashboard({ email }) { const q = query.trim().toLowerCase(); const filtered = q ? entries.filter((e) => e.title.toLowerCase().includes(q) || (e.section || '').includes(q)) : entries; - const groups = { beitrag: [], wiki: [], seite: [], rubrik: [] }; + const groups = { beitrag: [], biblio: [], seite: [], rubrik: [] }; for (const e of filtered) (groups[e.kind] || groups.seite).push(e); return ( @@ -126,7 +126,7 @@ function Dashboard({ email }) {