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>
---
+## 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.