From 518e12cfef3afe05c684442cbd2d7fc3dd720075 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Fri, 16 Oct 2026 08:24:03 +0000 Subject: [PATCH] fix: CONTENT_BASE und PUBLIC_BASE nutzen jetzt --base und URL_BASE MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Bisher hat das Skript CONTENT_BASE und PUBLIC_BASE mit hartkodiertem `projects/` aufgebaut — unabhängig davon, ob --base gesetzt war. Das hatte zwei Konsequenzen: 1. Ohne --base landeten Content-Dateien trotzdem unter `src/content/projects/` statt unter `src/content/`. 2. PUBLIC_BASE enthielt immer `/projects/$PROJECT/$VERSION`, auch für aktuelle Versionen (--current). Die generierten apidocs-Links in den Content-Dateien wiesen daher auf `/projects/X/Y/apidocs/` statt auf `$URL_BASE/apidocs/`. Fix: - CONTENT_BASE: `src/content${BASE}/$PROJECT/$VERSION` — BASE kommt aus --base, bleibt leer wenn nicht gesetzt. - PUBLIC_BASE: `public${URL_BASE}` — spiegelt exakt die URL-Struktur der Seiten wider (für --current ohne Version, für --archived mit Version im Pfad). - Link-Rewriting der generierten Docs-Verzeichnisse: `${URL_BASE}/` statt hartkodiertem `/projects/${PROJECT}/${VERSION}/`. Co-Authored-By: Claude Sonnet 4.6 --- CLAUDE.md | 6 ++++++ src/main/resources/import-in-astro.sh | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 4857a80..7d3ec1b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -16,6 +16,12 @@ Für die Projektdokumentation (Was ist StILi, Funktionsweise, Import-Skripte) si - Fasse in der Commit-Nachricht zusammen, was und warum geändert wurde. - Nach jedem Commit wird gemeinsam geprüft, ob der Build noch zufriedenstellend funktioniert, bevor der nächste Schritt angegangen wird. +## Maven Build-Output (`target/`) + +Dateien unter `target/` sind **generierter Build-Output** und werden nie direkt bearbeitet. +Änderungen immer nur an den Quellen vornehmen, aus denen Maven die `target/`-Dateien erzeugt. +Nach einem `./mvnw clean site` sind alle `target/`-Dateien wieder auf dem Stand der Quellen. + ## Maven Wrapper Das Projekt verwendet den **Maven Wrapper** (`mvnw` / `mvnw.cmd`), der Maven automatisch herunterlädt falls es nicht lokal vorhanden ist. diff --git a/src/main/resources/import-in-astro.sh b/src/main/resources/import-in-astro.sh index e2c94c2..0c973c0 100755 --- a/src/main/resources/import-in-astro.sh +++ b/src/main/resources/import-in-astro.sh @@ -123,8 +123,8 @@ fi [[ -z "$CANONICAL" ]] && CANONICAL="$BASE/$PROJECT" CANONICAL="${CANONICAL%/}" -CONTENT_BASE="$ASTRO_ROOT/src/content/projects/$PROJECT/$VERSION" -PUBLIC_BASE="$ASTRO_ROOT/public/projects/$PROJECT/$VERSION" +CONTENT_BASE="$ASTRO_ROOT/src/content${BASE}/$PROJECT/$VERSION" +PUBLIC_BASE="$ASTRO_ROOT/public${URL_BASE}" # Routing files mirror the URL structure: src/pages/ PAGES_BASE="$ASTRO_ROOT/src/pages${URL_BASE}" @@ -202,8 +202,8 @@ for SOURCE in $(find "$SCRIPT_DIR" -maxdepth 1 -mindepth 1 -type f -name '*.html # and archived (/projects/X/Y/...) page URLs, so rewrite them to absolute URLs. for dir in $GENERATED_DOC_DIRS; do sed -i \ - -e "s|href=\"${dir}/\"|href=\"/projects/${PROJECT}/${VERSION}/${dir}/index.html\"|g" \ - -e "s|href=\"${dir}/index\.html\"|href=\"/projects/${PROJECT}/${VERSION}/${dir}/index.html\"|g" \ + -e "s|href=\"${dir}/\"|href=\"${URL_BASE}/${dir}/index.html\"|g" \ + -e "s|href=\"${dir}/index\.html\"|href=\"${URL_BASE}/${dir}/index.html\"|g" \ "$CONTENT_TARGET" done -- 2.39.5