docs: add portfolio ideas + fix hero carousel YAML format

This commit is contained in:
ralksta
2026-02-14 12:20:35 +01:00
parent 90afe205f5
commit b66dceb107
2 changed files with 47 additions and 1 deletions

View File

@@ -2,7 +2,10 @@
# Album and subpage definitions for your public gallery.
# Secrets (API key, server URL) stay in .env.local.
hero: 03c0df0e-01d7-4cc7-8352-cf30d2289ad6
hero:
- 03c0df0e-01d7-4cc7-8352-cf30d2289ad6
- a492300b-14ca-4167-a2c9-815c820a8802
- 7fdc0891-8e9d-48f1-9f1b-a8697c6dbea1
# Standalone albums shown directly on the homepage
albums:

43
plans/IDEAS.md Normal file
View File

@@ -0,0 +1,43 @@
# Portfolio Ideas
## 🧑‍💻 Developer
- **Internationalization (i18n)** — Multi-language UI support (DE/EN). Extend YAML config with locale files
- **ISR / Stale-While-Revalidate** — Replace `force-dynamic` with Incremental Static Regeneration + on-demand revalidation
- **Image CDN / Edge caching** — Add `Cache-Control` headers on `/api/image` proxy responses to reduce Immich load
- **Structured logging** — Replace console.log with `pino` for production observability (request IDs, timings, cache hits)
- **CI/CD pipeline** — GitHub Actions: lint → typecheck → unit tests → Playwright E2E → Docker build → push to GHCR
- **Content Security Policy** — CSP headers to lock down the public-facing site
- **Privacy-friendly analytics** — Plausible or Umami (self-hosted) to track album/photo engagement
## 📸 Photographer
- **Photo stories / Essays** — Vertical scroll format with images + text interspersed, like a photo essay. Portfolio differentiator
- **Map view** — Minimal world map from EXIF city/country data, each dot links to an album. Mapbox GL or Leaflet
- **Monochrome / Film simulation toggle** — CSS filters for grayscale, Tri-X, Portra 400 looks across the grid
- **Before/After slider** — Draggable comparison slider in lightbox for edit showcases
- **Collections by camera/lens** — Auto-generate virtual albums from EXIF data ("Shot on Leica Q3", "Summilux 35mm")
- **Photo of the day / Favorites** — Rotate a featured hero photo, driven by tag in Immich or `gallery.yaml`
## 👤 User / Visitor
- **Slideshow mode** — Auto-advance through photos (3s/5s/10s). Great for exhibitions and ambient display
- **Photo sharing** — "Copy link" button in lightbox with toast + per-photo OG image generation
- **Keyboard shortcut hints** — `?` button revealing available shortcuts (arrows, Esc, F for fullscreen)
- **Fullscreen API** — Chrome-free immersive viewing in lightbox
- **Pinch-to-zoom** — Touch gesture zoom in lightbox for detail viewing
- **Album / Subpage descriptions** — Markdown description per subpage in `gallery.yaml`, shown above the grid
- **Progressive loading animation** — Ken Burns zoom/pan on ThumbHash placeholders while loading
## 🏆 Quick Wins (High Impact / Low Effort)
| Idea | Effort | Impact |
|------|--------|--------|
| Slideshow mode | Low | High — exhibition ready |
| Copy link + per-photo OG | Low | High — shareability |
| Album descriptions in YAML | Low | Medium — context |
| Fullscreen API in lightbox | Low | Medium — immersive |
| Monochrome toggle | Low | Medium — Leica vibes |
| ISR caching | Medium | High — performance |
| Photo stories/essays | High | Very high — differentiator |
| Map view | Medium | High — wow factor |