feat: separate settings and gallery config, add impressum page
This commit is contained in:
@@ -1,72 +1,24 @@
|
||||
# ── Gallery Configuration ──────────────────────────────────────
|
||||
# Define which Immich albums to publish and how to organize them.
|
||||
#
|
||||
# Find album UUIDs in Immich: Albums → click album → UUID in the URL bar.
|
||||
# Find asset UUIDs: click a photo → UUID in the URL bar.
|
||||
# ── Gallery Structure ──────────────────────────────────────────────
|
||||
# This file defines WHICH albums and subpages are shown.
|
||||
# Global settings (theme, map, legal, title) now live in content/settings.yaml.
|
||||
|
||||
# Hero image(s) shown on the homepage (Immich asset UUIDs).
|
||||
# Use a single UUID for a static image, or a list for a crossfade carousel.
|
||||
hero: 00000000-0000-0000-0000-000000000000
|
||||
# hero:
|
||||
# - 00000000-0000-0000-0000-000000000000
|
||||
# - 11111111-1111-1111-1111-111111111111
|
||||
# - 22222222-2222-2222-2222-222222222222
|
||||
# Hero images for the homepage carousel (Immich asset UUIDs)
|
||||
hero:
|
||||
- "your-asset-uuid-1"
|
||||
- "your-asset-uuid-2"
|
||||
|
||||
# Standalone albums — shown directly on the homepage as cards
|
||||
# Use a string for the UUID, or a map for an inline name override.
|
||||
# Standalone albums (shown on the home page)
|
||||
albums:
|
||||
- 11111111-1111-1111-1111-111111111111: "Meine Favoriten" # inline override
|
||||
- 22222222-2222-2222-2222-222222222222
|
||||
- "your-album-uuid-1"
|
||||
- "your-album-uuid-2"
|
||||
|
||||
# Show camera/lens EXIF on photo hover (default: true)
|
||||
# exifOnHover: false
|
||||
|
||||
# Enable the /map page — plots photos on a world map by city/country (default: false)
|
||||
# map: true
|
||||
|
||||
# Photo grid layout — customize columns, gap, aspect ratio, and mode.
|
||||
# grid:
|
||||
# columns: 3 # default: 3
|
||||
# gap: 12 # pixels, default: 12
|
||||
# aspectRatio: "1" # "1", "3/2", "auto", etc. default: "1"
|
||||
# layout: masonry # "masonry" or "uniform", default: "masonry"
|
||||
|
||||
# Subpages — group albums into collections at /subpage-slug/album-slug.
|
||||
# You can use a simple map for concise definitions, or a full object for passwords/grids.
|
||||
# Subpages: group albums under custom URL paths
|
||||
subpages:
|
||||
Japan: # Simple map format
|
||||
- 33333333-3333-3333-3333-333333333333: "Tokyo Nights"
|
||||
- 44444444-4444-4444-4444-444444444444
|
||||
|
||||
Wedding: # Advanced object format (needed for passwords/grid overrides)
|
||||
password: clientpass123
|
||||
"Travel":
|
||||
- "album-uuid-3"
|
||||
- "album-uuid-4"
|
||||
"Projects":
|
||||
password: "your-password" # Optional protection
|
||||
albums:
|
||||
- 55555555-5555-5555-5555-555555555555: "The Big Day"
|
||||
|
||||
# Footer — optional minimal footer with social links
|
||||
# footer:
|
||||
# name: John Doe
|
||||
# instagram: johndoe
|
||||
# email: hello@example.com
|
||||
# website: https://example.com
|
||||
|
||||
# ── Theme ─────────────────────────────────────────────────────
|
||||
# Control the visual identity of your gallery. Use a preset name:
|
||||
# theme: studio # Leica-inspired, red dot, passepartout frames, film grain
|
||||
# theme: minimal # Swiss brutalist, fullbleed hero, true B&W, zero-gap grid
|
||||
# theme: editorial # Cinematic magazine, warm charcoal, Bodoni serif, shadow frames
|
||||
# theme: classic # Gilded gallery, gold accents, Cinzel headings, passepartout
|
||||
#
|
||||
# Or customize individual properties (defaults from the preset):
|
||||
# theme:
|
||||
# preset: studio # base preset to extend
|
||||
# accent: "#2563eb" # brand/accent color
|
||||
# fonts:
|
||||
# heading: "Inter" # Google Fonts name for headings
|
||||
# body: "Inter" # body text
|
||||
# caption: "JetBrains Mono" # EXIF captions
|
||||
# radius: 8 # border-radius in pixels (0 = sharp)
|
||||
# photoFrame: none # "none" | "passepartout" | "shadow"
|
||||
# grain: false # film grain overlay on photos
|
||||
# headerDot: false # accent dot in the nav bar
|
||||
# heroStyle: split # "split" | "fullbleed" | "minimal"
|
||||
- "album-uuid-5"
|
||||
- "album-uuid-6"
|
||||
|
||||
52
content/settings.yaml.example
Normal file
52
content/settings.yaml.example
Normal file
@@ -0,0 +1,52 @@
|
||||
# ── Global Site Settings ──────────────────────────────────────────
|
||||
# This file controls the visual identity, global behavior, and legal info.
|
||||
# Structure is separated from gallery.yaml (album IDs) for clarity.
|
||||
|
||||
# Public site title and subtitle (overrides .env if set)
|
||||
title: "My Portfolio"
|
||||
subtitle: "A visual journal"
|
||||
|
||||
# Show EXIF metadata (camera, lens, ISO) on photo grid hover
|
||||
exifOnHover: true
|
||||
|
||||
# Enable the interactive world map view (/map)
|
||||
map: true
|
||||
|
||||
# Enable smooth page transitions between routes
|
||||
transitions: true
|
||||
|
||||
# ── Theme configuration ──────────────────────────────────────────
|
||||
# Presets: studio, minimal, editorial, classic, noir, monograph, botanica
|
||||
theme:
|
||||
preset: "studio"
|
||||
# accent: "#e60012"
|
||||
# photoFrame: "passepartout" # none, passepartout, shadow
|
||||
# grain: true
|
||||
|
||||
# ── Grid configuration ───────────────────────────────────────────
|
||||
grid:
|
||||
columns: 3
|
||||
gap: 12
|
||||
aspectRatio: "1" # "1" (square), "3/2", "2/3", "16/9", "auto"
|
||||
layout: "masonry" # masonry, uniform, showcase, filmstrip, editorial-flow
|
||||
|
||||
# ── Footer & Social ──────────────────────────────────────────────
|
||||
footer:
|
||||
name: "My Photography"
|
||||
instagram: "https://instagram.com/your-handle"
|
||||
email: "hello@example.com"
|
||||
website: "https://example.com"
|
||||
|
||||
# ── Legal / Impressum (German Law compliance) ────────────────────
|
||||
# If enabled: true, a link to /impressum will appear in the footer.
|
||||
legal:
|
||||
enabled: false
|
||||
name: "Your Full Name"
|
||||
address: "Street and House Number"
|
||||
zipCity: "ZIP Code and City"
|
||||
country: "Germany"
|
||||
email: "legal@example.com"
|
||||
phone: "+49 123 456789"
|
||||
# taxId: "DE123456789"
|
||||
# vatId: "12/345/67890"
|
||||
extraInfo: "Verantwortlich für den Inhalt nach § 18 Abs. 2 MStV: Max Mustermann"
|
||||
Reference in New Issue
Block a user