Rename gallery festival -> summit; add real photos as webp
- Rename gallery folder festival/ -> summit/ and update gallery.ts (id, glob, variable, folder path) + README - Add 10 Summit Gathering photos (STL_*, Speaker) converted to webp - Add 1 City photo converted to webp - Drop the summit placeholder SVGs now that real photos exist Images resized to max 2048px @ q82 (140-280 KB each). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* src/deck/gallery/city/ → City (SolLunar Punk Society)
|
||||
* src/deck/gallery/farm/ → Farm (Château du Faune)
|
||||
* src/deck/gallery/festival/ → Summit Gathering (Pop-up Summit Gatherings)
|
||||
* src/deck/gallery/summit/ → Summit Gathering (Pop-up Summit Gatherings)
|
||||
*
|
||||
* Supported: jpg jpeg png webp avif gif svg. Images show sorted by filename,
|
||||
* so prefix with 01-, 02-, … to control order. The seeded *-placeholder.svg
|
||||
|
|
@ -31,7 +31,7 @@ const farm = import.meta.glob('./gallery/farm/*.{jpg,jpeg,png,webp,avif,gif,svg}
|
|||
query: '?url',
|
||||
import: 'default',
|
||||
}) as GlobMap
|
||||
const festival = import.meta.glob('./gallery/festival/*.{jpg,jpeg,png,webp,avif,gif,svg}', {
|
||||
const summit = import.meta.glob('./gallery/summit/*.{jpg,jpeg,png,webp,avif,gif,svg}', {
|
||||
eager: true,
|
||||
query: '?url',
|
||||
import: 'default',
|
||||
|
|
@ -46,7 +46,7 @@ function toImages(map: GlobMap): GalleryImage[] {
|
|||
}
|
||||
|
||||
export type GallerySection = {
|
||||
id: 'city' | 'farm' | 'festival'
|
||||
id: 'city' | 'farm' | 'summit'
|
||||
label: string
|
||||
entityName: string
|
||||
accent: Accent
|
||||
|
|
@ -72,11 +72,11 @@ export const gallerySections: GallerySection[] = [
|
|||
images: toImages(farm),
|
||||
},
|
||||
{
|
||||
id: 'festival',
|
||||
id: 'summit',
|
||||
label: 'Summit Gathering',
|
||||
entityName: entityById('festivals').name,
|
||||
accent: 'rose',
|
||||
folder: 'src/deck/gallery/festival/',
|
||||
images: toImages(festival),
|
||||
folder: 'src/deck/gallery/summit/',
|
||||
images: toImages(summit),
|
||||
},
|
||||
]
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ they appear automatically** — no code to touch.
|
|||
| ----------- | -------- | --------------------- |
|
||||
| `city/` | City | SolLunar Punk Society |
|
||||
| `farm/` | Farm | Château du Faune |
|
||||
| `festival/` | Summit Gathering | Pop-up Summit Gatherings |
|
||||
| `summit/` | Summit Gathering | Pop-up Summit Gatherings |
|
||||
|
||||
- Supported formats: `jpg` `jpeg` `png` `webp` `avif` `gif` `svg`.
|
||||
- Images display **sorted by filename** — prefix `01-`, `02-`, … to order them.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2.5 MiB |
BIN
src/deck/gallery/city/1ac3edae-ff85-4977-9025-d44abb0e5722.webp
Normal file
|
After Width: | Height: | Size: 244 KiB |
|
|
@ -1,15 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800" width="800" height="800" font-family="Georgia, serif">
|
||||
<defs>
|
||||
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="hsl(256 78% 68%)" stop-opacity="0.40"/>
|
||||
<stop offset="1" stop-color="hsl(160 28% 6%)" stop-opacity="1"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="800" height="800" fill="hsl(160 28% 6%)"/>
|
||||
<rect width="800" height="800" fill="url(#g)"/>
|
||||
<circle cx="740" cy="60" r="120" fill="hsl(256 78% 68%)" opacity="0.12"/>
|
||||
<circle cx="70" cy="730" r="90" fill="hsl(256 78% 68%)" opacity="0.10"/>
|
||||
<text x="400" y="360" text-anchor="middle" fill="hsl(256 78% 68%)" font-size="46" font-weight="bold">Summit Gathering</text>
|
||||
<text x="400" y="406" text-anchor="middle" fill="hsl(44 30% 90%)" font-size="26" opacity="0.85">Photo 01</text>
|
||||
<text x="400" y="444" text-anchor="middle" fill="hsl(150 8% 62%)" font-size="18" letter-spacing="3">PLACEHOLDER · 800×800</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1,000 B |
|
|
@ -1,15 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 560" width="800" height="560" font-family="Georgia, serif">
|
||||
<defs>
|
||||
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="hsl(256 78% 68%)" stop-opacity="0.40"/>
|
||||
<stop offset="1" stop-color="hsl(160 28% 6%)" stop-opacity="1"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="800" height="560" fill="hsl(160 28% 6%)"/>
|
||||
<rect width="800" height="560" fill="url(#g)"/>
|
||||
<circle cx="740" cy="60" r="120" fill="hsl(256 78% 68%)" opacity="0.12"/>
|
||||
<circle cx="70" cy="490" r="90" fill="hsl(256 78% 68%)" opacity="0.10"/>
|
||||
<text x="400" y="240" text-anchor="middle" fill="hsl(256 78% 68%)" font-size="46" font-weight="bold">Summit Gathering</text>
|
||||
<text x="400" y="286" text-anchor="middle" fill="hsl(44 30% 90%)" font-size="26" opacity="0.85">Photo 02</text>
|
||||
<text x="400" y="324" text-anchor="middle" fill="hsl(150 8% 62%)" font-size="18" letter-spacing="3">PLACEHOLDER · 800×560</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1,000 B |
|
|
@ -1,15 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 1040" width="800" height="1040" font-family="Georgia, serif">
|
||||
<defs>
|
||||
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="hsl(256 78% 68%)" stop-opacity="0.40"/>
|
||||
<stop offset="1" stop-color="hsl(160 28% 6%)" stop-opacity="1"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="800" height="1040" fill="hsl(160 28% 6%)"/>
|
||||
<rect width="800" height="1040" fill="url(#g)"/>
|
||||
<circle cx="740" cy="60" r="120" fill="hsl(256 78% 68%)" opacity="0.12"/>
|
||||
<circle cx="70" cy="970" r="90" fill="hsl(256 78% 68%)" opacity="0.10"/>
|
||||
<text x="400" y="480" text-anchor="middle" fill="hsl(256 78% 68%)" font-size="46" font-weight="bold">Summit Gathering</text>
|
||||
<text x="400" y="526" text-anchor="middle" fill="hsl(44 30% 90%)" font-size="26" opacity="0.85">Photo 03</text>
|
||||
<text x="400" y="564" text-anchor="middle" fill="hsl(150 8% 62%)" font-size="18" letter-spacing="3">PLACEHOLDER · 800×1040</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1,005 B |
|
|
@ -1,15 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 700" width="800" height="700" font-family="Georgia, serif">
|
||||
<defs>
|
||||
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="hsl(256 78% 68%)" stop-opacity="0.40"/>
|
||||
<stop offset="1" stop-color="hsl(160 28% 6%)" stop-opacity="1"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="800" height="700" fill="hsl(160 28% 6%)"/>
|
||||
<rect width="800" height="700" fill="url(#g)"/>
|
||||
<circle cx="740" cy="60" r="120" fill="hsl(256 78% 68%)" opacity="0.12"/>
|
||||
<circle cx="70" cy="630" r="90" fill="hsl(256 78% 68%)" opacity="0.10"/>
|
||||
<text x="400" y="310" text-anchor="middle" fill="hsl(256 78% 68%)" font-size="46" font-weight="bold">Summit Gathering</text>
|
||||
<text x="400" y="356" text-anchor="middle" fill="hsl(44 30% 90%)" font-size="26" opacity="0.85">Photo 04</text>
|
||||
<text x="400" y="394" text-anchor="middle" fill="hsl(150 8% 62%)" font-size="18" letter-spacing="3">PLACEHOLDER · 800×700</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1,000 B |
|
|
@ -1,15 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600" width="800" height="600" font-family="Georgia, serif">
|
||||
<defs>
|
||||
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="hsl(256 78% 68%)" stop-opacity="0.40"/>
|
||||
<stop offset="1" stop-color="hsl(160 28% 6%)" stop-opacity="1"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="800" height="600" fill="hsl(160 28% 6%)"/>
|
||||
<rect width="800" height="600" fill="url(#g)"/>
|
||||
<circle cx="740" cy="60" r="120" fill="hsl(256 78% 68%)" opacity="0.12"/>
|
||||
<circle cx="70" cy="530" r="90" fill="hsl(256 78% 68%)" opacity="0.10"/>
|
||||
<text x="400" y="260" text-anchor="middle" fill="hsl(256 78% 68%)" font-size="46" font-weight="bold">Summit Gathering</text>
|
||||
<text x="400" y="306" text-anchor="middle" fill="hsl(44 30% 90%)" font-size="26" opacity="0.85">Photo 05</text>
|
||||
<text x="400" y="344" text-anchor="middle" fill="hsl(150 8% 62%)" font-size="18" letter-spacing="3">PLACEHOLDER · 800×600</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1,000 B |
BIN
src/deck/gallery/summit/STL_0082.webp
Normal file
|
After Width: | Height: | Size: 149 KiB |
BIN
src/deck/gallery/summit/STL_0444.webp
Normal file
|
After Width: | Height: | Size: 180 KiB |
BIN
src/deck/gallery/summit/STL_3633-min-scaled.webp
Normal file
|
After Width: | Height: | Size: 264 KiB |
BIN
src/deck/gallery/summit/STL_3755-min.webp
Normal file
|
After Width: | Height: | Size: 156 KiB |
BIN
src/deck/gallery/summit/STL_3904-min-scaled.webp
Normal file
|
After Width: | Height: | Size: 279 KiB |
BIN
src/deck/gallery/summit/STL_3982-min-scaled.webp
Normal file
|
After Width: | Height: | Size: 226 KiB |
BIN
src/deck/gallery/summit/STL_4082-min-scaled.webp
Normal file
|
After Width: | Height: | Size: 252 KiB |
BIN
src/deck/gallery/summit/STL_8309-65.webp
Normal file
|
After Width: | Height: | Size: 240 KiB |
BIN
src/deck/gallery/summit/STL_8397-70.webp
Normal file
|
After Width: | Height: | Size: 248 KiB |
BIN
src/deck/gallery/summit/Speaker.webp
Normal file
|
After Width: | Height: | Size: 138 KiB |