* feat(admin): add backup manager UI with 1-click restore * feat(admin): collapse older backup entries by default * fix(theme): isolate admin layout, instant DOM theme updates, and add Light/Dark mode toggle * feat(admin): replace text controls for Photo Frame and Hero Style with visual preview cards * fix(admin): define missing CSS rules for button system (.btn, .preset-btn) * feat(admin): redesign theme settings with segmented mode toggle, accent color swatches, and custom iOS-style toggle cards * feat(admin): upgrade all settings tabs with visual grid previews, Google SEO snippet preview, and toggle cards * feat(admin): overhaul Pages Builder UX with slide-over drawer, card hover badges, real-time search, and floating save bar * fix(admin): remove leftover dangling syntax snippet in PageBuilder.tsx * fix(admin): add position: relative to subpage-tile so hover overlay is contained inside the tile * style(admin): replace all emojis with clean Leica-style vector SVG icons * fix(types): extend IconProps with SVGProps to allow style prop on Leica SVG icons * feat(admin): add subpage live-preview, privacy analytics, and asset protection settings * fix(typecheck): fix AlbumEntry property access in subpage drawer preview mode * fix(types): fix ImmichAlbumInfo property names thumbnailAssetId and albumName in PageBuilder.tsx * fix(types): add protection and watermark optional properties to AppConfig interface * feat(settings): add toggle for disabling analytics tracking (defaults to enabled) * feat(ux): show status banner when analytics tracking is disabled + add live sync indicator * feat(watermark): render customizable watermark overlay on Lightbox images + rename section to Portfolio Features & Modules * fix(types): import type LightboxWatermark in PhotoGrid.tsx * fix(types): destructure watermark prop in PhotoGrid function signature * feat(seo): add configurable subpage title template and metadata descriptions * feat(seo): add generateMetadata to about page for title template support * feat(proofing): add client proofing, favorites selection, compact URL bitmasking, and export modal * feat(essay): add Photo Essay storytelling mode with RSC markdown parser and fullbleed/pair layouts * feat(subpages): add page enabled toggle to deactivate subpages without deleting them * feat(admin): add visual essay block builder for photo essay storytelling pages * security: add Trivy container scan to Docker publish workflow Scans the built image for CRITICAL/HIGH CVEs on every release and uploads results to the GitHub Security tab. Non-blocking for now (exit-code 0) so releases aren't gated on findings. Also documents the scan and existing Dependabot coverage in the README. --------- Co-authored-by: ralksta <ralksta@users.noreply.github.com>
69 lines
2.6 KiB
Plaintext
69 lines
2.6 KiB
Plaintext
# ── Gallery Structure ──────────────────────────────────────────────
|
|
# This file defines WHICH albums and subpages are shown.
|
|
# Global settings (theme, map, legal, title) now live in content/settings.yaml.
|
|
|
|
# Hero images for the homepage carousel (Immich asset UUIDs)
|
|
hero:
|
|
- "your-asset-uuid-1"
|
|
- "your-asset-uuid-2"
|
|
|
|
# Standalone albums (shown on the home page)
|
|
albums:
|
|
- "your-album-uuid-1"
|
|
- "your-album-uuid-2"
|
|
|
|
# Subpages: group albums under custom URL paths
|
|
subpages:
|
|
"Travel":
|
|
- "album-uuid-3"
|
|
- "album-uuid-4"
|
|
"Projects":
|
|
title: "My Creative Projects" # Optional: Header title, defaults to Navigation key ("Projects")
|
|
subtitle: "A collection of 2026 highlights in 35mm film." # Optional: Sub-text for headers
|
|
password: "your-password" # Optional protection
|
|
albums:
|
|
- "album-uuid-5"
|
|
- "album-uuid-6":
|
|
title: "Private Project #7"
|
|
description: "Shot on 35mm film in Vienna, spring 2025." # Optional: shown below album title
|
|
password: "scrypt:..." # Recommended: secure hash (generated via logs)
|
|
|
|
# ── Subpage with Sections ──────────────────────────────────────────
|
|
# Use sections to group albums by location, theme, or any other logic.
|
|
# A typographic table of contents is rendered above the albums.
|
|
# Sections are optional: leave them out and you get a flat album grid (as above).
|
|
subpages:
|
|
- name: Japan
|
|
title: Japan
|
|
subtitle: "Reisen durch ein Land voller Kontraste."
|
|
|
|
sections:
|
|
- title: Tokyo
|
|
description: "Megacity, Neonlichter, Stille im Lärm."
|
|
albums:
|
|
- "album-uuid-tokyo-1" # Uses Immich album name
|
|
- "album-uuid-tokyo-2": Shinjuku bei Nacht # Custom title override
|
|
- "album-uuid-tokyo-3"
|
|
|
|
- title: Kyoto
|
|
description: "Tempel, Bambuswälder, goldener Herbst."
|
|
albums:
|
|
- "album-uuid-kyoto-1": Fushimi Inari
|
|
- "album-uuid-kyoto-2"
|
|
|
|
- title: Osaka
|
|
albums: # description is optional
|
|
- "album-uuid-osaka-1"
|
|
- "album-uuid-osaka-2"
|
|
|
|
# ── Photo Essay / Storytelling Subpage Example ───────────────────
|
|
# Render editorial Markdown essays with fullbleed & side-by-side images
|
|
- name: Highlands
|
|
title: "Icelandic Highlands"
|
|
subtitle: "A Photo Essay"
|
|
essayFile: "content/essays/sample-story.md"
|
|
grid:
|
|
layout: essay
|
|
albums:
|
|
- "album-uuid-iceland-1"
|