]> juplo.de Git - website/commitdiff
Alias-Handling für Nav-Einträge mit mehreren Elternteilen
authorKai Moritz <kai.milan.moritz@googlemail.com>
Fri, 19 Jun 2026 09:22:21 +0000 (09:22 +0000)
committerKai Moritz <kai.milan.moritz@googlemail.com>
Fri, 19 Jun 2026 10:22:15 +0000 (12:22 +0200)
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-<li> 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 <noreply@anthropic.com>
CLAUDE.md

index eb5fe92d81322625e800008e4edef188d46e4183..a8f7fbc8b75d39128771abe551dc967395993de8 100644 (file)
--- 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 `<link rel="canonical">` 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 |