This project renders CVs using the JSON Resume format + Next.js, styled with Tailwind and deployed as a static site on GitHub Pages.
Built for maximum nerd-friendliness, modularity, and zero config onboarding.
pnpm install
pnpm run build
pnpm run startRufe die App auf unter:
http://localhost:3000/siwi
Der
basePathist/siwi, weil das Projekt unterhttps://schaltstelle.github.io/siwi/läuft.
- Repo klonen:
git clone https://github.com/schaltstelle/siwi.git
cd siwi- Folgende Dateien hinzufügen in
/public/resumes/:
alex.png # Bild (wird als Profilbild angezeigt)
alex.json # JSON-Resume (https://jsonresume.org/)Die URL zum Rendern des CVs ist:
https://schaltstelle.github.io/siwi/resumes/alex/themes/schaltstelle
- Statische Routen registrieren
In der Datei:
app/resumes/[resumeid]/themes/[themeid]/page.tsx
anpassen:
export async function generateStaticParams() {
return [
{ resumeid: 'alex', themeid: 'schaltstelle' },
// weitere Lebensläufe hier ergänzen...
]
}Nur hier definierte Kombinationen werden beim Build exportiert!
- Build & Deploy für GitHub Pages
pnpm run build
git add .
git commit -am "cv added"
git push origin mainWarte ~1 Minute und trink einen Kaffee, bis GitHub Pages deployed hat.
Dann öffne deinen finalen Link:
https://schaltstelle.github.io/siwi/resumes/alex/themes/schaltstelle
Die Anwendung kann auch in einem Kubernetes-Cluster mit Terraform bereitgestellt werden. Die Infrastruktur-Konfiguration befindet sich im Verzeichnis infrastructure/.
cd infrastructure
./setup.shNach der Bereitstellung ist die Anwendung unter folgender URL erreichbar:
http://localhost:4006/siwi/resumes/alex/themes/schaltstelle?lang=en
Zum Testen der Anwendung in einem Docker-Container ohne Kubernetes:
cd infrastructure
./docker-test.shWeitere Informationen zur Infrastruktur-Konfiguration finden Sie in der Infrastructure README.
- Bilder werden automatisch relativ zum
basePathgeladen → z. B./siwi/resumes/alex.png - Die App unterstützt Themes, aktuell z. B.
schaltstelle - Der Export ist statisch (
output: 'export'), kein SSR →getServerSidePropso.Ä. wird nicht unterstützt - Deployment erfolgt via GitHub Actions mit
peaceiris/actions-gh-pages - Alternativ kann die Anwendung in einem Kubernetes-Cluster mit Terraform bereitgestellt werden
https://schaltstelle.github.io/siwi/resumes/alex/themes/schaltstelle
Happy CV-ing Made with 💙 by Alex