From: Kai Moritz Date: Sun, 14 Jun 2026 09:13:17 +0000 (+0000) Subject: CLAUDE.md: About-Subtree-Logik und Seitenstruktur dokumentiert X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=55f49318254defc20e058cd73735570bcda03ae4;p=website CLAUDE.md: About-Subtree-Logik und Seitenstruktur dokumentiert Co-Authored-By: Claude Sonnet 4.6 --- diff --git a/CLAUDE.md b/CLAUDE.md index 445af951..5294c3de 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -181,10 +181,26 @@ Hugo verwendet zwei verschiedene Menü-Templates: - `layouts/_partials/menu/default.html` + `tree.html` — für alle anderen Seiten: Section-Index-Seiten (`IsNode=true`) blenden alle anderen Sections aus; auf der Homepage und regulären Root-Seiten (Impressum, Datenschutz) sind alle Sections sichtbar (Kind- bzw. Geschwister-Logik in `tree.html`) Daraus ergibt sich für `BlogNav.astro`: -- `blogSectionOff = onAbout` — Blog im Submenu hidden nur auf `/about.html` (Section-Index) -- `aboutOff = blogSelected` — About im Submenu hidden nur auf Blog-Seiten +- `blogSectionOff = onAboutSection` — Blog hidden auf allen About-Section-Seiten (inkl. Impressum, Datenschutz etc.) +- `aboutOff = blogSelected` — About hidden nur auf Blog-Seiten +- Auf Homepage und regulären Root-Seiten sind Blog und About beide sichtbar -Wenn Projects implementiert wird: `blogSectionOff |= onProjects`, `aboutOff |= onProjects`. +**About-Subtree:** Der About-Seitenbaum ist statisch in `BlogNav.astro` definiert (Typ `NavPage`), da About-Seiten keine Content Collection nutzen. Die `off`-Logik für Einträge innerhalb der Subtree spiegelt `tree.html` direkt: `aboutPageOff(page, parentUrl)` prüft `isCurrent || isAncestor || isSibling(!isNode) || isChild`. Section-Index-Seiten (About, Impressum) unterdrücken die Geschwister-Logik (`!currentAboutIsNode`). + +About-Seitenstruktur (aus `content/about/` im Hugo-Branch, sortiert nach weight): +``` +/about.html + /contact.html (weight 10) + /impressum.html (weight 10, section-index) + /urheberrechte.html (weight 10) + /datenschutz.html (weight 20) + /haftung-inhalte.html (weight 30) + /haftung-links.html (weight 40) + /google-analytics.html + /agb.html (weight 30) +``` + +Wenn Projects implementiert wird: `blogSectionOff |= onProjectsSection`, `aboutOff |= onProjectsSection`. --- @@ -222,9 +238,9 @@ Wenn Projects implementiert wird: `blogSectionOff |= onProjects`, `aboutOff |= o #### Standalone-Seiten: Navigation über BlogNav -**Was:** Die Seiten `about.html`, `impressum.html` und `datenschutz.html` nutzen `BlogNav.astro` im `menu`-Slot. Der About-Eintrag im Submenu zeigt sich korrekt als ausgewählt auf `/about.html` und als sichtbar (ohne `off`) auf Impressum/Datenschutz. +**Was:** Alle About-Section-Seiten (`about.html`, `impressum.html`, `datenschutz.html` sowie zukünftige wie `contact.html`, `agb.html` etc.) nutzen `BlogNav.astro` im `menu`-Slot. Die vollständige About-Subtree ist immer im HTML vorhanden; CSS blendet nicht relevante Einträge via `.off` aus. -**Offener Punkt — Projects-Baum:** Hugo zeigt auf allen Seiten auch den Projects-Baum im Submenu (mit spezieller `current`-Flag-Logik für Projektversionen, aus `menu/tree.html`). Dieser fehlt noch. Sobald Projects implementiert wird, muss `BlogNav.astro` um den Projects-Ast erweitert werden (oder die Komponente wird in `SiteNav.astro` umbenannt). +**Offener Punkt — Projects-Baum:** Hugo zeigt auf allen Seiten auch den Projects-Baum im Submenu (mit spezieller `current`-Flag-Logik für Projektversionen, aus `menu/tree.html`). Dieser fehlt noch. Sobald Projects implementiert wird, muss `BlogNav.astro` um den Projects-Ast erweitert werden. ---