Project pages: add ToC sidebar to all remaining articles (EN/MK/SI)

Give the 23 project pages that used a single-column layout the same scrollspy
table-of-contents sidebar as the others (built from their <h2> sections, with
language-agnostic section-N ids so it works for Cyrillic too), plus the mobile
ToC header. The "Like what we do?" sidebar CTA now sits under the ToC on every
non-memorial project page; the two memorial stories get the ToC but no CTA.
The full-width bottom CTA remains the mobile fallback.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
popovskikandClaude Opus 4.8 committed 2026-08-05 18:01:17 +02:00
1 parent 7c52f30e3b
commit b79ad2d0de
23 files changed
+754 -116

No files matched your search

@@ -193,7 +193,29 @@
<!-- END_HEADER -->
<main class="article-page">
<article class="article-container">
<!-- Sticky Mobile Header -->
<div class="mobile-article-header">
<span id="mobile-article-title">V spomin na žrtve tragedije v Kočanih</span>
<i class="fas fa-chevron-down"></i>
<div class="progress-bar-container">
<div class="progress-bar"></div>
</div>
<div class="mobile-scrollspy-dropdown">
<ul id="mobile-scrollspy-links"></ul>
</div>
</div>
<div class="article-layout-container">
<aside class="article-sidebar">
<nav class="scrollspy-nav">
<ul>
<li><a href="#section-1" class="active">Zbor v Ljubljani</a></li>
<li><a href="#section-2">Sporočilo onkraj meja</a></li>
<li><a href="#section-3">Sklepne besede</a></li>
</ul>
</nav>
</aside>
<article class="article-container">
<header class="article-header">
<p class="article-publish-date">Objavljeno 21. marca 2025</p>
<h1>V spomin na žrtve tragedije v Kočanih</h1>
@@ -213,7 +235,7 @@
<img width="720" height="480" loading="lazy" decoding="async" src="../../../images/kochani-2.webp" alt="Svetloba sveč in cvetje na žalni slovesnosti v Ljubljani">
</figure>
<h2>Zbor v Ljubljani</h2>
<h2 id="section-1">Zbor v Ljubljani</h2>
<p>21. marca je bil trg v Ljubljani napolnjen s tišino in svetlobo sveč. Kar se je začelo s pričakovanjem okoli 200 udeležencev, je preraslo v zbor več kot 600 ljudi vseh starosti. Program se je začel s kratkim nagovorom predsednika MŠOS, ki mu je sledila 16-minutna tišina v počastitev žrtev, ena minuta za vsak marčevski dan do tragedije.</p>
@@ -223,7 +245,7 @@
<img width="720" height="480" loading="lazy" decoding="async" src="../../../images/kochani-3.webp" alt="Morje sveč in cvetja, ki so ga pustili udeleženci">
</figure>
<h2>Sporočilo onkraj meja</h2>
<h2 id="section-2">Sporočilo onkraj meja</h2>
<p>Ta zbor je bil opomnik, da študenti tudi daleč od doma nosijo svoje korenine, svoje sočutje in svoj glas za pravico. Ni bilo promocijsko dejanje, ampak človeško, znak, da nova generacija želi graditi prihodnost, v kateri nas opredeljujeta solidarnost in skrb.</p>
@@ -233,7 +255,7 @@
<img width="720" height="480" loading="lazy" decoding="async" src="../../../images/kochani-4.webp" alt="Udeleženci stojijo skupaj med trenutkom tišine">
</figure>
<h2>Sklepne besede</h2>
<h2 id="section-3">Sklepne besede</h2>
<p>Tragedija v Kočanih nam je pokazala, kako krhko je življenje, a tudi kako močni smo lahko, ko se povežemo. V Ljubljani je študentska skupnost stala z ramo ob rami in domov pošiljala ljubezen in spoštovanje.</p>
@@ -250,6 +272,7 @@
</div>
</section>
</article>
</div>
<section class="newsletter-cta">
<div class="container">
<div class="cta-content">