All checks were successful
docker-build / Docker – Build (Validation) (push) Successful in 8s
2.0 KiB
2.0 KiB
jf-homepage
Portfolio & About-Seite für Jerrit (jf) — gebaut mit Vite, TypeScript, GSAP/ScrollTrigger und Lenis.
Stack
- Vite — Dev-Server & Build
- TypeScript — Typsicherheit
- GSAP + ScrollTrigger — Scroll-Animationen, Reveals, Skill-Bars
- Lenis — Smooth Scrolling
- Reines CSS (Custom Properties, kein Framework)
Features
- Animierter Hero (Intro-Timeline, Gradient-Background)
- Reveal-on-Scroll für alle Sektionen
- Skill-Bars mit Scroll-Trigger
- Custom Cursor + Scroll-Progress-Bar
- Fixe Nav mit Blur-on-Scroll
- Responsive (Desktop / Tablet / Mobile)
prefers-reduced-motionrespektiert
Struktur
jf-homepage/
├── index.html # Markup, Sektionen
├── src/
│ ├── style.css # komplettes Styling
│ └── main.ts # Animationen, Lenis, Cursor, Nav
├── package.json
└── tsconfig.json
Local dev
npm install
npm run dev # http://localhost:5173
Build
npm run build # tsc + vite build -> dist/
npm run preview # dist/ lokal serven
Deploy
Statisches dist/ — hostbar auf jedem Static-Host (z. B. Gitea Pages, Netlify, Cloudflare Pages, nginx).
Git / Gitea
- Remote:
https://git.jfritzsche.de/jf/jf-homepage.git(HTTPS + Token; SSH Port 22 ist von außen durch Cloudflare blockiert) - Branches:
main(prod/Release),dev(laufende Arbeit, hier wird entwickelt)- Feature-Branches:
feature/<x>, Bugfixes:fix/<x>, Wartung:chore/<x> - Workflow: feature/fix -> dev -> (merge) main bei Release
- Feature-Branches:
- Commits: Conventional Commits (
feat:,fix:,docs:,chore:) - CI/CD (Gitea Actions,
runs-on: ubuntu-latest):- Push auf
dev->docker-build.yml: baut das Image nur zur Validierung (kein Push) - Push auf
main->docker.yml: baut UND pusht zu Gitea Packages (git.jfritzsche.de/jf/jf-homepage). Registry-Login via Repo-SecretREGISTRY_TOKEN.
- Push auf
ToDo / Ideen
- Echte Projekt-Cases statt Platzhalter
- Dark/Light-Toggle
- Gitea-Actions-Deploy zu Gitea Pages (optional)