diff --git a/AGENTS.md b/AGENTS.md index bd07215..6709cce 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -77,6 +77,7 @@ moonweb-site/ ```bash npm install +npm run prebuild # Pre-Build Tasks (CV PDF generieren) npm run dev:hub # localhost:8081 npm run dev:infra # localhost:8082 npm run dev:smarthome # localhost:8083 @@ -104,6 +105,23 @@ npm run build # Alle Sites bauen - CV-Partial zentral pflegbar (einmal aendern → Web + PDF aktualisieren) - LED Matrix als eigene Seite unter stefankoelle.de/ledmatrix/ +### CV PDF Generierung + +Das CV-PDF wird via WeasyPrint generiert: + +```bash +npm run pdf:cv # Einzelnes PDF generieren +npm run prebuild # Alle Pre-Build Tasks (inkl. CV PDF) +``` + +Dateien: +- `stefankoelle/pdf/cv-style.css` — WeasyPrint-Stylesheet (A4, Typografie) +- `stefankoelle/pdf/build-pdf.sh` — Shell-Skript für PDF-Generierung +- `stefankoelle/cv-print.njk` — Standalone HTML-Template (nur CV-Content) +- `stefankoelle/pdf/cv.pdf` — Generiertes PDF (Output) + +Wichtig: Das PDF wird via Eleventy-Passthrough ins Build-Output kopiert (`dist/stefankoelle/pdf/cv.pdf`). + ### CSS Cache-Busting CSS-Dateien werden als Passthrough kopiert (kein Hash im Dateinamen). Bei CSS-Änderungen muss der Query-String in der `?v=N` Inkludierung erhöht werden: @@ -133,6 +151,5 @@ Benötigte Secrets: ## Offene Punkte - retro/ ist bewusst rudimentär gehalten -- PDF-Build fuer CV (WeasyPrint) — lokal testen, spaeter in CI integrieren - Querverlinkungen stefankoelle.de <-> smarthome (zukuenftig) - Ledmatrix ggf. nach smarthome verschieben (when ready) diff --git a/README.md b/README.md index 0df45f1..261e156 100755 --- a/README.md +++ b/README.md @@ -100,8 +100,9 @@ Each site has its own minimal Eleventy config (`/eleventy.config.js`). Liv ### Build ```bash -npm run build # builds all 5 → dist// -npm run build:hub # build single site +npm run prebuild # pre-build tasks (CV PDF) +npm run build # builds all 5 → dist// +npm run build:hub # build single site ``` --- diff --git a/package.json b/package.json index 1221764..d23157d 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "build:retro": "npx @11ty/eleventy --config=retro/eleventy.config.js", "build:stefankoelle": "npx @11ty/eleventy --config=stefankoelle/eleventy.config.js", "build": "npm run build:hub && npm run build:infra && npm run build:smarthome && npm run build:code && npm run build:retro && npm run build:stefankoelle", - "pdf:cv": "bash stefankoelle/pdf/build-pdf.sh" + "pdf:cv": "bash stefankoelle/pdf/build-pdf.sh", + "prebuild": "bash prebuild.sh" }, "devDependencies": { "@11ty/eleventy": "^3.1.6" diff --git a/prebuild.sh b/prebuild.sh new file mode 100755 index 0000000..c331e19 --- /dev/null +++ b/prebuild.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -euo pipefail + +echo "==> Running prebuild tasks..." + +echo "" +echo "--- CV PDF ---" +bash stefankoelle/pdf/build-pdf.sh + +echo "" +echo "==> Prebuild complete." diff --git a/stefankoelle/_includes/stefankoelle.njk b/stefankoelle/_includes/stefankoelle.njk index ac93f08..ad46514 100644 --- a/stefankoelle/_includes/stefankoelle.njk +++ b/stefankoelle/_includes/stefankoelle.njk @@ -24,7 +24,7 @@ - +
diff --git a/stefankoelle/ledmatrix/index.njk b/stefankoelle/ledmatrix/index.njk index 44c5bee..8ac47b8 100644 --- a/stefankoelle/ledmatrix/index.njk +++ b/stefankoelle/ledmatrix/index.njk @@ -10,7 +10,7 @@ description: "WiFi-controlled LED display solution with REST API, DHT22 sensor, {{ title }} - ESP32 Project - +
diff --git a/stefankoelle/pdf/cv.pdf b/stefankoelle/pdf/cv.pdf index de7b2e8..8c2ab6b 100644 Binary files a/stefankoelle/pdf/cv.pdf and b/stefankoelle/pdf/cv.pdf differ