]> juplo.de Git - website/commitdiff
CLAUDE.md: About-Subtree-Logik und Seitenstruktur dokumentiert
authorKai Moritz <kai.milan.moritz@googlemail.com>
Sun, 14 Jun 2026 09:13:17 +0000 (09:13 +0000)
committerKai Moritz <kai.milan.moritz@googlemail.com>
Sun, 14 Jun 2026 09:13:17 +0000 (09:13 +0000)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CLAUDE.md

index 445af9512687e2d753bd47c6e26d4edb714134ff..5294c3de722164e277345a6b372da02802ed603c 100644 (file)
--- 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.
 
 ---