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.
npm install
npm run build
npm run start
Rufe die App auf unter:
http://localhost:3000/siwi
Der
basePath
ist/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
npm run build
git add .
git commit -am "cv added"
git push origin main
Warte ~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
- Bilder werden automatisch relativ zum
basePath
geladen → z. B./siwi/resumes/alex.png
- Die App unterstützt Themes, aktuell z. B.
schaltstelle
- Der Export ist statisch (
output: 'export'
), kein SSR →getServerSideProps
o.Ä. wird nicht unterstützt - Deployment erfolgt via GitHub Actions mit
peaceiris/actions-gh-pages
https://schaltstelle.github.io/siwi/resumes/alex/themes/schaltstelle
Happy CV-ing Made with 💙 by Alex