]> juplo.de Git - website/commitdiff
CLAUDE.md: Breadcrumb-Verhalten und Implementierung dokumentieren
authorKai Moritz <kai.milan.moritz@googlemail.com>
Sun, 21 Jun 2026 07:37:13 +0000 (07:37 +0000)
committerKai Moritz <kai.milan.moritz@googlemail.com>
Sun, 21 Jun 2026 07:37:13 +0000 (07:37 +0000)
Invariante: Breadcrumb = kanonischer Nav-Pfad = fettgedruckter Pfad im
Sitemap-Menü. Beschreibt Implementierung für alle drei Bereiche (About,
Projects, Blog) und benennt Abweichungen explizit als Bugs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CLAUDE.md

index 411fd7c54b5592cee6f7f5d176b100aa1b1414e4..d62a2a56885b198ac1999969f05da42231634694 100644 (file)
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -54,6 +54,20 @@ Seiten befüllen die Slots mit `<Fragment slot="…">`. Den `menu`-Slot übernim
 
 ---
 
+## Breadcrumb
+
+Der Breadcrumb (`#breadcrumb`) zeigt immer den **kanonischen Nav-Pfad** zur aktuellen Seite — also genau den Pfad, der im Sitemap-Menü fett/ausgewählt dargestellt wird. Beide müssen stets übereinstimmen.
+
+**Implementierung je Bereich:**
+
+- **About-Bereich:** `src/lib/about.ts` exportiert `aboutSection` (Baum) und `findAboutPath()`. Alle About-Page-Templates berechnen ihre Crumbs daraus — kein hartkodierter Pfad in den Templates.
+- **Projects-Bereich:** `ProjectPage.astro` ruft `findCanonicalPath()` (aus `src/lib/projects.ts`) auf dem Nav-Baum der aktiven Projektversion auf. Alias-Nodes werden beim Traversieren übersprungen, sodass immer der kanonische (nicht der Schnellzugriffs-)Pfad erscheint.
+- **Blog-Bereich:** Crumbs sind hartkodiert in den jeweiligen Page-Templates (`[slug].astro` etc.), da der Blog-Pfad (Home → Blog → Archive → Jahr → Post) eindeutig und unveränderlich ist.
+
+**Invariante:** Breadcrumb = fettgedruckter Pfad im Sitemap-Menü (kanonische Version). Abweichungen sind Bugs.
+
+---
+
 ## Sitemap-Menü
 
 Das Menü unter `nav#nav` ist bewusst am **Ende des HTML** platziert und dient primär als **SEO-Sitemap**: Es enthält den vollständigen Seitenbaum als verlinkten Baum, damit Suchmaschinen-Robots alle Seiten entdecken und crawlen können. Im Browser dient es gleichzeitig als sekundäre Navigation.