]> juplo.de Git - maven-thymeleaf-skin/commitdiff
fix: CONTENT_BASE und PUBLIC_BASE nutzen jetzt --base und URL_BASE
authorKai Moritz <kai.milan.moritz@googlemail.com>
Fri, 16 Oct 2026 08:24:03 +0000 (08:24 +0000)
committerKai Moritz <kai.milan.moritz@googlemail.com>
Fri, 16 Oct 2026 08:26:48 +0000 (08:26 +0000)
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 <noreply@anthropic.com>
CLAUDE.md
src/main/resources/import-in-astro.sh

index 4857a80223bdbc65d73175168820e710572a61b1..7d3ec1b7243420c9b6fbf5470858d84ad1df2183 100644 (file)
--- 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.
index e2c94c29bc9ba46f9715e04dbdc1812e59c378fa..0c973c023adcdc1d47201a000a98e55f08150f68 100755 (executable)
@@ -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<URL_BASE>/
 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