Roll out "Photos from the event" gallery to all event posts (EN/MK/SI)

- Added the reusable lightbox gallery block to all 9 event posts in every
  language (27 pages): shows 5 thumbnails + "+N more", opens the full-screen
  viewer with the whole photo set
- Inserted inside <article> (before the author footer where present) so it
  never breaks the sidebar/article flex layout
- Handled 3 SI posts that were missing their </article> tag by anchoring on
  the newsletter section instead

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
popovskikandClaude Opus 4.8 committed 2026-08-03 15:24:37 +02:00
1 parent 1f5e031be9
commit 9edd6daa52
26 files changed
+351

No files matched your search

@@ -280,6 +280,22 @@
<figcaption>The MSOS Maribor team celebrating together after a successful tournament.</figcaption>
</figure>
</div>
<section class="event-gallery">
<h2 class="event-gallery-title">Photos from the event</h2>
<div class="event-gallery-grid js-lightbox">
<button type="button" class="eg-thumb" data-full="../../../images/maribor-tournament-1.webp" data-caption="Humanitarian Tournament in Maribor"><img loading="lazy" decoding="async" src="../../../images/maribor-tournament-1.webp" alt="Humanitarian Tournament in Maribor — photo 1"></button>
<button type="button" class="eg-thumb" data-full="../../../images/maribor-tournament-2.webp" data-caption="Humanitarian Tournament in Maribor"><img loading="lazy" decoding="async" src="../../../images/maribor-tournament-2.webp" alt="Humanitarian Tournament in Maribor — photo 2"></button>
<button type="button" class="eg-thumb" data-full="../../../images/maribor-tournament-3.webp" data-caption="Humanitarian Tournament in Maribor"><img loading="lazy" decoding="async" src="../../../images/maribor-tournament-3.webp" alt="Humanitarian Tournament in Maribor — photo 3"></button>
<button type="button" class="eg-thumb" data-full="../../../images/maribor-tournament-4.webp" data-caption="Humanitarian Tournament in Maribor"><img loading="lazy" decoding="async" src="../../../images/maribor-tournament-4.webp" alt="Humanitarian Tournament in Maribor — photo 4"></button>
<button type="button" class="eg-thumb" data-full="../../../images/maribor-tournament-5.webp" data-caption="Humanitarian Tournament in Maribor"><img loading="lazy" decoding="async" src="../../../images/maribor-tournament-5.webp" alt="Humanitarian Tournament in Maribor — photo 5"><span class="eg-more">+5</span></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/maribor-tournament-6.webp" data-caption="Humanitarian Tournament in Maribor"><img loading="lazy" decoding="async" src="../../../images/maribor-tournament-6.webp" alt="Humanitarian Tournament in Maribor — photo 6"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/maribor-tournament-7.webp" data-caption="Humanitarian Tournament in Maribor"><img loading="lazy" decoding="async" src="../../../images/maribor-tournament-7.webp" alt="Humanitarian Tournament in Maribor — photo 7"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/maribor-tournament-8.webp" data-caption="Humanitarian Tournament in Maribor"><img loading="lazy" decoding="async" src="../../../images/maribor-tournament-8.webp" alt="Humanitarian Tournament in Maribor — photo 8"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/maribor-tournament-9.webp" data-caption="Humanitarian Tournament in Maribor"><img loading="lazy" decoding="async" src="../../../images/maribor-tournament-9.webp" alt="Humanitarian Tournament in Maribor — photo 9"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/maribor-tournament-10.webp" data-caption="Humanitarian Tournament in Maribor"><img loading="lazy" decoding="async" src="../../../images/maribor-tournament-10.webp" alt="Humanitarian Tournament in Maribor — photo 10"></button>
</div>
</section>
</article>
<section class="newsletter-cta">
<div class="container">
@@ -229,6 +229,15 @@
<p>Rest in peace, Frosina. 🕊️🙏🏻</p>
</div>
<section class="event-gallery">
<h2 class="event-gallery-title">Photos from the event</h2>
<div class="event-gallery-grid js-lightbox">
<button type="button" class="eg-thumb" data-full="../../../images/frosina-1.webp" data-caption="In Memory of Frosina Kulakova"><img loading="lazy" decoding="async" src="../../../images/frosina-1.webp" alt="In Memory of Frosina Kulakova — photo 1"></button>
<button type="button" class="eg-thumb" data-full="../../../images/frosina-2.webp" data-caption="In Memory of Frosina Kulakova"><img loading="lazy" decoding="async" src="../../../images/frosina-2.webp" alt="In Memory of Frosina Kulakova — photo 2"></button>
<button type="button" class="eg-thumb" data-full="../../../images/frosina-3.webp" data-caption="In Memory of Frosina Kulakova"><img loading="lazy" decoding="async" src="../../../images/frosina-3.webp" alt="In Memory of Frosina Kulakova — photo 3"></button>
</div>
</section>
</article>
<section class="newsletter-cta">
<div class="container">
@@ -239,6 +239,16 @@
<p>May the victims rest in peace.</p>
</div>
<section class="event-gallery">
<h2 class="event-gallery-title">Photos from the event</h2>
<div class="event-gallery-grid js-lightbox">
<button type="button" class="eg-thumb" data-full="../../../images/kochani-1.webp" data-caption="In Memory of the Kochani Victims"><img loading="lazy" decoding="async" src="../../../images/kochani-1.webp" alt="In Memory of the Kochani Victims — photo 1"></button>
<button type="button" class="eg-thumb" data-full="../../../images/kochani-2.webp" data-caption="In Memory of the Kochani Victims"><img loading="lazy" decoding="async" src="../../../images/kochani-2.webp" alt="In Memory of the Kochani Victims — photo 2"></button>
<button type="button" class="eg-thumb" data-full="../../../images/kochani-3.webp" data-caption="In Memory of the Kochani Victims"><img loading="lazy" decoding="async" src="../../../images/kochani-3.webp" alt="In Memory of the Kochani Victims — photo 3"></button>
<button type="button" class="eg-thumb" data-full="../../../images/kochani-4.webp" data-caption="In Memory of the Kochani Victims"><img loading="lazy" decoding="async" src="../../../images/kochani-4.webp" alt="In Memory of the Kochani Victims — photo 4"></button>
</div>
</section>
</article>
<section class="newsletter-cta">
<div class="container">
@@ -297,6 +297,19 @@
</figure>
</div>
<section class="event-gallery">
<h2 class="event-gallery-title">Photos from the event</h2>
<div class="event-gallery-grid js-lightbox">
<button type="button" class="eg-thumb" data-full="../../../images/msnl-1.webp" data-caption="Macedonian Student Night in Ljubljana"><img loading="lazy" decoding="async" src="../../../images/msnl-1.webp" alt="Macedonian Student Night in Ljubljana — photo 1"></button>
<button type="button" class="eg-thumb" data-full="../../../images/msnl-2.webp" data-caption="Macedonian Student Night in Ljubljana"><img loading="lazy" decoding="async" src="../../../images/msnl-2.webp" alt="Macedonian Student Night in Ljubljana — photo 2"></button>
<button type="button" class="eg-thumb" data-full="../../../images/msnl-3.webp" data-caption="Macedonian Student Night in Ljubljana"><img loading="lazy" decoding="async" src="../../../images/msnl-3.webp" alt="Macedonian Student Night in Ljubljana — photo 3"></button>
<button type="button" class="eg-thumb" data-full="../../../images/msnl-4.webp" data-caption="Macedonian Student Night in Ljubljana"><img loading="lazy" decoding="async" src="../../../images/msnl-4.webp" alt="Macedonian Student Night in Ljubljana — photo 4"></button>
<button type="button" class="eg-thumb" data-full="../../../images/msnl-5.webp" data-caption="Macedonian Student Night in Ljubljana"><img loading="lazy" decoding="async" src="../../../images/msnl-5.webp" alt="Macedonian Student Night in Ljubljana — photo 5"><span class="eg-more">+2</span></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/msnl-6.webp" data-caption="Macedonian Student Night in Ljubljana"><img loading="lazy" decoding="async" src="../../../images/msnl-6.webp" alt="Macedonian Student Night in Ljubljana — photo 6"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/msnl-7.webp" data-caption="Macedonian Student Night in Ljubljana"><img loading="lazy" decoding="async" src="../../../images/msnl-7.webp" alt="Macedonian Student Night in Ljubljana — photo 7"></button>
</div>
</section>
<footer class="article-footer">
<hr>
<div class="author-share-section">
@@ -323,6 +323,22 @@
</figure>
</div>
<section class="event-gallery">
<h2 class="event-gallery-title">Photos from the event</h2>
<div class="event-gallery-grid js-lightbox">
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-1.webp" data-caption="Meet Student Slovenia 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-1.webp" alt="Meet Student Slovenia 2023 — photo 1"></button>
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-2.webp" data-caption="Meet Student Slovenia 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-2.webp" alt="Meet Student Slovenia 2023 — photo 2"></button>
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-3.webp" data-caption="Meet Student Slovenia 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-3.webp" alt="Meet Student Slovenia 2023 — photo 3"></button>
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-4.webp" data-caption="Meet Student Slovenia 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-4.webp" alt="Meet Student Slovenia 2023 — photo 4"></button>
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-5.webp" data-caption="Meet Student Slovenia 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-5.webp" alt="Meet Student Slovenia 2023 — photo 5"><span class="eg-more">+5</span></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-6.webp" data-caption="Meet Student Slovenia 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-6.webp" alt="Meet Student Slovenia 2023 — photo 6"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-7.webp" data-caption="Meet Student Slovenia 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-7.webp" alt="Meet Student Slovenia 2023 — photo 7"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-8.webp" data-caption="Meet Student Slovenia 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-8.webp" alt="Meet Student Slovenia 2023 — photo 8"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-9.webp" data-caption="Meet Student Slovenia 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-9.webp" alt="Meet Student Slovenia 2023 — photo 9"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-10.webp" data-caption="Meet Student Slovenia 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-10.webp" alt="Meet Student Slovenia 2023 — photo 10"></button>
</div>
</section>
<footer class="article-footer">
<hr>
<div class="author-share-section">
@@ -283,6 +283,19 @@
</figure>
</div>
<section class="event-gallery">
<h2 class="event-gallery-title">Photos from the event</h2>
<div class="event-gallery-grid js-lightbox">
<button type="button" class="eg-thumb" data-full="../../../images/event4-image1.webp" data-caption="Morning Coffee in front of CTK"><img loading="lazy" decoding="async" src="../../../images/event4-image1.webp" alt="Morning Coffee in front of CTK — photo 1"></button>
<button type="button" class="eg-thumb" data-full="../../../images/event4-image2.webp" data-caption="Morning Coffee in front of CTK"><img loading="lazy" decoding="async" src="../../../images/event4-image2.webp" alt="Morning Coffee in front of CTK — photo 2"></button>
<button type="button" class="eg-thumb" data-full="../../../images/event4-image3.webp" data-caption="Morning Coffee in front of CTK"><img loading="lazy" decoding="async" src="../../../images/event4-image3.webp" alt="Morning Coffee in front of CTK — photo 3"></button>
<button type="button" class="eg-thumb" data-full="../../../images/event4-image4.webp" data-caption="Morning Coffee in front of CTK"><img loading="lazy" decoding="async" src="../../../images/event4-image4.webp" alt="Morning Coffee in front of CTK — photo 4"></button>
<button type="button" class="eg-thumb" data-full="../../../images/event4-image5.webp" data-caption="Morning Coffee in front of CTK"><img loading="lazy" decoding="async" src="../../../images/event4-image5.webp" alt="Morning Coffee in front of CTK — photo 5"><span class="eg-more">+2</span></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event4-image6.webp" data-caption="Morning Coffee in front of CTK"><img loading="lazy" decoding="async" src="../../../images/event4-image6.webp" alt="Morning Coffee in front of CTK — photo 6"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event4-image7.webp" data-caption="Morning Coffee in front of CTK"><img loading="lazy" decoding="async" src="../../../images/event4-image7.webp" alt="Morning Coffee in front of CTK — photo 7"></button>
</div>
</section>
<footer class="article-footer">
<hr>
<div class="author-share-section">
@@ -263,6 +263,21 @@
<img loading="lazy" decoding="async" src="../../../images/paint-wine-9.webp" alt="The MSOS Nova Gorica community at sunset">
</figure>
</div>
<section class="event-gallery">
<h2 class="event-gallery-title">Photos from the event</h2>
<div class="event-gallery-grid js-lightbox">
<button type="button" class="eg-thumb" data-full="../../../images/paint-wine-1.webp" data-caption="Paint &amp; Wine at Sunset"><img loading="lazy" decoding="async" src="../../../images/paint-wine-1.webp" alt="Paint &amp; Wine at Sunset — photo 1"></button>
<button type="button" class="eg-thumb" data-full="../../../images/paint-wine-2.webp" data-caption="Paint &amp; Wine at Sunset"><img loading="lazy" decoding="async" src="../../../images/paint-wine-2.webp" alt="Paint &amp; Wine at Sunset — photo 2"></button>
<button type="button" class="eg-thumb" data-full="../../../images/paint-wine-3.webp" data-caption="Paint &amp; Wine at Sunset"><img loading="lazy" decoding="async" src="../../../images/paint-wine-3.webp" alt="Paint &amp; Wine at Sunset — photo 3"></button>
<button type="button" class="eg-thumb" data-full="../../../images/paint-wine-4.webp" data-caption="Paint &amp; Wine at Sunset"><img loading="lazy" decoding="async" src="../../../images/paint-wine-4.webp" alt="Paint &amp; Wine at Sunset — photo 4"></button>
<button type="button" class="eg-thumb" data-full="../../../images/paint-wine-5.webp" data-caption="Paint &amp; Wine at Sunset"><img loading="lazy" decoding="async" src="../../../images/paint-wine-5.webp" alt="Paint &amp; Wine at Sunset — photo 5"><span class="eg-more">+4</span></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/paint-wine-6.webp" data-caption="Paint &amp; Wine at Sunset"><img loading="lazy" decoding="async" src="../../../images/paint-wine-6.webp" alt="Paint &amp; Wine at Sunset — photo 6"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/paint-wine-7.webp" data-caption="Paint &amp; Wine at Sunset"><img loading="lazy" decoding="async" src="../../../images/paint-wine-7.webp" alt="Paint &amp; Wine at Sunset — photo 7"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/paint-wine-8.webp" data-caption="Paint &amp; Wine at Sunset"><img loading="lazy" decoding="async" src="../../../images/paint-wine-8.webp" alt="Paint &amp; Wine at Sunset — photo 8"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/paint-wine-9.webp" data-caption="Paint &amp; Wine at Sunset"><img loading="lazy" decoding="async" src="../../../images/paint-wine-9.webp" alt="Paint &amp; Wine at Sunset — photo 9"></button>
</div>
</section>
</article>
<section class="newsletter-cta">
<div class="container">
@@ -251,6 +251,19 @@
<figcaption>A snapshot of our team in Ljubljana.</figcaption>
</figure>
</div>
<section class="event-gallery">
<h2 class="event-gallery-title">Photos from the event</h2>
<div class="event-gallery-grid js-lightbox">
<button type="button" class="eg-thumb" data-full="../../../images/handball-2025-1.webp" data-caption="Watching Handball Together in Slovenia"><img loading="lazy" decoding="async" src="../../../images/handball-2025-1.webp" alt="Watching Handball Together in Slovenia — photo 1"></button>
<button type="button" class="eg-thumb" data-full="../../../images/handball-2025-2.webp" data-caption="Watching Handball Together in Slovenia"><img loading="lazy" decoding="async" src="../../../images/handball-2025-2.webp" alt="Watching Handball Together in Slovenia — photo 2"></button>
<button type="button" class="eg-thumb" data-full="../../../images/handball-2025-3.webp" data-caption="Watching Handball Together in Slovenia"><img loading="lazy" decoding="async" src="../../../images/handball-2025-3.webp" alt="Watching Handball Together in Slovenia — photo 3"></button>
<button type="button" class="eg-thumb" data-full="../../../images/handball-2025-4.webp" data-caption="Watching Handball Together in Slovenia"><img loading="lazy" decoding="async" src="../../../images/handball-2025-4.webp" alt="Watching Handball Together in Slovenia — photo 4"></button>
<button type="button" class="eg-thumb" data-full="../../../images/handball-2025-5.webp" data-caption="Watching Handball Together in Slovenia"><img loading="lazy" decoding="async" src="../../../images/handball-2025-5.webp" alt="Watching Handball Together in Slovenia — photo 5"><span class="eg-more">+2</span></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/handball-2025-6.webp" data-caption="Watching Handball Together in Slovenia"><img loading="lazy" decoding="async" src="../../../images/handball-2025-6.webp" alt="Watching Handball Together in Slovenia — photo 6"></button>
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/handball-2025-7.webp" data-caption="Watching Handball Together in Slovenia"><img loading="lazy" decoding="async" src="../../../images/handball-2025-7.webp" alt="Watching Handball Together in Slovenia — photo 7"></button>
</div>
</section>
</article>
<section class="newsletter-cta">
<div class="container">