From 1243b2812379c90a144fa2f10ccb7a285559ecfa Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Fri, 19 Jun 2026 09:22:21 +0000 Subject: [PATCH] =?utf8?q?Alias-Handling=20f=C3=BCr=20Nav-Eintr=C3=A4ge=20?= =?utf8?q?mit=20mehreren=20Elternteilen?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Seiten, die in stili-json in mehreren childs-Listen stehen (z.B. Mojo- Seiten eines Maven-Plugins), werden vom Import-Skript an mehreren Stellen im Content-Tree abgelegt. Die zusätzlichen Einträge (Stubs) erhalten params.alias: true. In BlogNav.astro überspringen Alias-Nodes isCurrent und isAncestor in der off-Berechnung: im Classic-Layout sind sie versteckt, wenn ihre Seite aktiv ist (der kanonische Eintrag übernimmt die Darstellung). Als Geschwister- Seiten sind sie sichtbar. Im Layout "None" erscheinen alle Einträge, beide fett. Die Alias-
  • erhalten zusätzlich die CSS-Klasse alias. content.config.ts und projects.ts ergänzt um params.alias / isAlias. CLAUDE.md dokumentiert das Konzept. Co-Authored-By: Claude Sonnet 4.6 --- CLAUDE.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index eb5fe92d..a8f7fbc8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -136,6 +136,10 @@ Der Projects-Bereich unterscheidet zwischen **sichtbaren** und **nicht sichtbare **Zweck:** Suchmaschinen-Robots entdecken über das Sitemap-Menü alle Versionen und werden via `` auf die aktuelle Version verwiesen. Menschliche Besucher, die eine ältere Version aufrufen, sehen die originalen Inhalte mit einem Hinweis auf die aktuelle Version. +**Alias-Einträge (`params.alias: true`):** Seiten, die in `stili-json` in mehreren `childs`-Listen auftauchen, werden vom Import-Skript an mehreren Stellen im Content-Tree abgelegt. Die primäre Datei (kanonischer Ort, mit Body + Routing) folgt den `crumbs`/`path`-Feldern. Zusätzliche **Stub-Dateien** (leer, kein Routing) entstehen an den weiteren Positionen und erhalten `params.alias: true`. + +In `BlogNav.astro` werden Alias-Nodes mit der CSS-Klasse `alias` versehen. In der `off`-Berechnung überspringen Alias-Nodes `isCurrent` und `isAncestor` — dadurch sind sie im Classic-Layout versteckt, wenn die Seite aktiv ist (der kanonische Eintrag übernimmt die Darstellung). Sichtbar sind sie als Geschwister (normale `isSibling`-Logik). Im Layout „None" (kein CSS) erscheinen alle Einträge, kanonischer und Alias-Eintrag beide fett. + **Generierte Inhalte (apidocs, xref etc.):** Maven-Site-Outputs liegen fertig generiert in `public/projects/PROJEKT_NAME/VERSION/` und werden als statische Dateien ausgeliefert — ohne Astro-Layout, ohne HTML-Anpassungen, ohne Routing-Dateien in `src/pages/`. `src/lib/projects.ts` (`generatedDocNodes()`) erkennt diese Verzeichnisse zur Build-Zeit automatisch und fügt sie als Nav-Blatteinträge hinzu: | Verzeichnis | Nav-Bezeichnung | -- 2.39.5