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).
-Alias-Nodes erhalten zusätzlich einen Barrierefreiheits-Hinweis im Markup: `<span class="alias-hint"> (Schnellzugriff)</span>` direkt nach dem Titel-Element (`<strong>` oder `<a>`). Der Hinweis steht **außerhalb** von `<strong>` und ist damit nie fett — auch nicht wenn die Seite aktiv ist. Im Layout „None" (kein CSS) erscheint der Hinweis, damit Nutzende von Text-Browsern und Screen-Readern erkennen, dass dieser Eintrag ein Zusatzzugang zu einer auch anderswo gelisteten Seite ist. Im CSS (`base/navigation.scss`: `#submenu .alias-hint { display: none }`) wird er in allen Screen-Layouts ausgeblendet. Der kanonische Eintrag erhält keinen Hinweis.
+Alias-Nodes erhalten zusätzlich einen Barrierefreiheits-Hinweis im Markup: `<span class="alias-hint"> (Schnellzugriff)</span>` direkt nach dem Titel-Element (`<strong>` oder `<a>`). Der Hinweis steht **außerhalb** von `<strong>` und ist damit nie fett — auch nicht wenn die Seite aktiv ist. Im Layout „None" (kein CSS) erscheint der Hinweis, damit Nutzende von Text-Browsern und Screen-Readern erkennen, dass dieser Eintrag ein Zusatzzugang zu einer auch anderswo gelisteten Seite ist. Im CSS (`base/navigation.scss`: `#submenu .alias-hint { display: none }`) wird er im Classic-Layout ausgeblendet (da `navigation.scss` unter `:root[data-layout="classic"]` eingebunden ist — siehe Abschnitt „CSS-Layouts" unten). Der kanonische Eintrag erhält keinen Hinweis.
**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:
SCSS-Änderungen erfordern `npm run build:css` oder einen Dev-Server-Neustart; HMR für SCSS funktioniert nicht automatisch.
+### CSS-Layouts
+
+Die Website kennt drei Layouts, die per `data-layout`-Attribut am `<html>`-Element gesetzt werden:
+
+- **`classic`** — das aktive Produktionslayout. Alle SCSS-Quellen (außer Resurrection) sind unter `:root[data-layout="classic"]` gescoped. Hier findet die gesamte CSS-Entwicklung statt.
+- **`none`** — kein Layout-CSS. Zeigt das rohe HTML-Markup ohne Stilisierung; dient zur Kontrolle der Markup-Qualität und Barrierefreiheit (Screen-Reader, Text-Browser).
+- **`resurrection`** — **Platzhalter** für ein zukünftig neu zu entwickelndes Layout. Darf derzeit bei CSS-Änderungen ignoriert werden — weder kontrollieren noch anpassen, bis die Überarbeitung von Markup und Classic-Layout abgeschlossen ist.
+
### Taxonomy-URL-Struktur
Taxonomy-Seiten sind auf zwei URL-Ebenen verteilt: