From 01c0172c020da93832c6ea0c7fa2b116afe0376b Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Tue, 14 Jul 2026 23:05:23 +0200 Subject: [PATCH 01/16] feat: add basic gallery functionality --- assets/sass/imageGallery.scss | 27 ++++++++++++++++++++++ assets/sass/main.scss | 1 + layouts/_partials/helper/contentImage.html | 10 ++++---- layouts/_partials/imageGallery.html | 7 ++++++ layouts/_partials/structuredData.html | 2 +- layouts/operator/single.html | 7 +++++- layouts/rss.xml | 4 +++- 7 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 assets/sass/imageGallery.scss create mode 100644 layouts/_partials/imageGallery.html diff --git a/assets/sass/imageGallery.scss b/assets/sass/imageGallery.scss new file mode 100644 index 000000000..be7d3b92e --- /dev/null +++ b/assets/sass/imageGallery.scss @@ -0,0 +1,27 @@ +.m-image-gallery { + width: 100%; + margin: 0; + padding: 0; + display: flex; + gap: 1.5rem; + overflow-x: auto; + scroll-snap-type: x mandatory; + list-style: none; +} + +.m-image-gallery__item { + flex: 0 0 100%; + scroll-snap-align: center; + list-style: none; +} + +.m-image-gallery__item > figure { + flex: 1; + min-height: 0; + height: 100%; +} + +.m-image-gallery__item > figure > img { + height: 100%; + object-fit: cover; +} diff --git a/assets/sass/main.scss b/assets/sass/main.scss index 3aed6e2f5..0a1654e72 100644 --- a/assets/sass/main.scss +++ b/assets/sass/main.scss @@ -22,6 +22,7 @@ @import "trainCategory.scss"; @import "tag.scss"; @import "floatImage.scss"; +@import "imageGallery.scss"; @import "teamMember.scss"; @import "dialog.scss"; @import "fip-validity.scss"; diff --git a/layouts/_partials/helper/contentImage.html b/layouts/_partials/helper/contentImage.html index 71004b43f..dd6ecd5ca 100644 --- a/layouts/_partials/helper/contentImage.html +++ b/layouts/_partials/helper/contentImage.html @@ -1,6 +1,8 @@ -{{ $contentImage := .Page.Resources.GetMatch "image.webp" }} -{{ if not $contentImage }} - {{ $contentImage = resources.Get "images/default.webp" }} +{{ $contentImages := .Page.Resources.ByType "image" }} +{{ if not $contentImages }} + {{ $contentImages = slice (resources.Get "images/default.webp") }} {{ end }} -{{ return dict "image" $contentImage }} +{{ $firstImage := index $contentImages 0 }} + +{{ return dict "image" $firstImage "firstImage" $firstImage "images" $contentImages }} diff --git a/layouts/_partials/imageGallery.html b/layouts/_partials/imageGallery.html new file mode 100644 index 000000000..d68eb5e3c --- /dev/null +++ b/layouts/_partials/imageGallery.html @@ -0,0 +1,7 @@ + diff --git a/layouts/_partials/structuredData.html b/layouts/_partials/structuredData.html index 023f4d1e6..9a1e5eb1f 100644 --- a/layouts/_partials/structuredData.html +++ b/layouts/_partials/structuredData.html @@ -12,7 +12,7 @@ {{ $mainEntity = "FAQPage" }} {{ end }} -{{ $image := (partial "helper/contentImage" .).Permalink }} +{{ $image := (partial "helper/contentImage" .).firstImage.Permalink }}