+
See all
diff --git a/links-for-bots/index.html b/links-for-bots/index.html
index 92c888c9..cb3ce694 100644
--- a/links-for-bots/index.html
+++ b/links-for-bots/index.html
@@ -34,7 +34,7 @@
MSOS Hub — Discover the MSOS Hub in Ljubljana — the community space of the Macedonian Student Organisation in Slovenia for events, gatherings and student life.
Become a member — Join MSOS and find your people in Slovenia. Meet students, attend events, get support and help create projects across the Macedonian student community.
Support MSOS — Support the Macedonian Student Organisation in Slovenia (MSOS) through a donation or partnership and help fund student events, guidance and community programs.
-
Gallery — Short answers to the questions Macedonian students ask most about studying and living in Slovenia, applications, residence, work, housing and more.
+
Gallery — A look back at the events, gatherings and moments that make the MSOS community — browse photo albums from Macedonian student life in Slovenia.
Frequently asked questions — Short answers to the questions Macedonian students ask most about studying and living in Slovenia, applications, residence, work, housing and more.
Official information — Official information about the Macedonian Student Organisation in Slovenia (MSOS): legal registration data, tax number, IBAN and contact details.
Стани член — Придружете се на МСОС и најдете ги вашите луѓе во Словенија. Запознајте студенти, посетувајте настани, добијте поддршка и создавајте проекти во македонската студентска заедница.
Галерија — Кратки одговори на прашањата што најчесто ги поставуваат македонските студенти за студирање и живеење во Словенија, пријави, престој, работа, сместување и повеќе.
+
Галерија — Поглед наназад на настаните, дружењата и моментите што ја градат заедницата на МСОС — прелистајте фото-албуми од македонскиот студентски живот во Словенија.
Често поставувани прашања — Кратки одговори на прашањата што најчесто ги поставуваат македонските студенти за студирање и живеење во Словенија, пријави, престој, работа, сместување и повеќе.
Postani član — Pridružite se MSOS in najdite svoje ljudi v Sloveniji. Spoznajte študente, obiskujte dogodke, prejmite podporo in soustvarjajte projekte makedonske študentske skupnosti.
Galerija — Kratki odgovori na vprašanja, ki jih makedonski študenti najpogosteje postavljajo o študiju in življenju v Sloveniji, prijave, prebivanje, delo, nastanitev in več.
+
Galerija — Pogled nazaj na dogodke, druženja in trenutke, ki gradijo skupnost MSOS — prebrskajte foto-albume iz makedonskega študentskega življenja v Sloveniji.
Pogosta vprašanja — Kratki odgovori na vprašanja, ki jih makedonski študenti najpogosteje postavljajo o študiju in življenju v Sloveniji, prijave, prebivanje, delo, nastanitev in več.
diff --git a/llms.txt b/llms.txt
index 6dc6968e..9883e8fc 100644
--- a/llms.txt
+++ b/llms.txt
@@ -10,7 +10,7 @@ Full multilingual crawl index (EN/MK/SI): https://msosorg.com/links-for-bots/
- [MSOS Hub](https://msosorg.com/en/msos-hub/): Discover the MSOS Hub in Ljubljana — the community space of the Macedonian Student Organisation in Slovenia for events, gatherings and student life.
- [Become a member](https://msosorg.com/en/become-a-member/): Join MSOS and find your people in Slovenia. Meet students, attend events, get support and help create projects across the Macedonian student community.
- [Support MSOS](https://msosorg.com/en/support/): Support the Macedonian Student Organisation in Slovenia (MSOS) through a donation or partnership and help fund student events, guidance and community programs.
-- [Gallery](https://msosorg.com/en/gallery/): Short answers to the questions Macedonian students ask most about studying and living in Slovenia, applications, residence, work, housing and more.
+- [Gallery](https://msosorg.com/en/gallery/): A look back at the events, gatherings and moments that make the MSOS community — browse photo albums from Macedonian student life in Slovenia.
- [Frequently asked questions](https://msosorg.com/en/faq/): Short answers to the questions Macedonian students ask most about studying and living in Slovenia, applications, residence, work, housing and more.
- [Timeline & Milestones](https://msosorg.com/en/timeline-and-milestones/): Learn more about the company and the team behind it.
- [Official information](https://msosorg.com/en/legal/): Official information about the Macedonian Student Organisation in Slovenia (MSOS): legal registration data, tax number, IBAN and contact details.
diff --git a/mk/gallery/index.html b/mk/gallery/index.html
index ca8e0c70..95efcda2 100644
--- a/mk/gallery/index.html
+++ b/mk/gallery/index.html
@@ -22,7 +22,7 @@
gtag('config', 'G-WVYV807VSS');
-
+
@@ -31,7 +31,7 @@
-
+
@@ -39,7 +39,7 @@
-
+
diff --git a/mk/index.html b/mk/index.html
index a76b5bd1..7c9d34d9 100644
--- a/mk/index.html
+++ b/mk/index.html
@@ -310,6 +310,7 @@
Што е ново кај МСОС, од настани и проекти до блог приказни и објави.
+
Poglej vse
diff --git a/tools/build_listings.py b/tools/build_listings.py
new file mode 100644
index 00000000..3862c753
--- /dev/null
+++ b/tools/build_listings.py
@@ -0,0 +1,80 @@
+#!/usr/bin/env python3
+"""
+build_listings.py -- keep the homepage "Latest news" in sync with the News hub.
+
+Problem it solves: the landing page's "Latest news" block used to be a separate
+hard-coded copy, so editing the News page never updated the homepage.
+
+Source of truth = each language's News hub (`/news/index.html`), which is
+edited by hand (it may include curated teaser cards without a detail page).
+This script copies the first 3 News-hub cards into the homepage's "Latest news"
+block, converting them to the homepage card format and fixing relative paths.
+
+Run after editing any News page:
+
+ python tools/build_listings.py
+
+Idempotent and safe to re-run. The homepage block is wrapped in
+ markers.
+"""
+import io, os, re
+
+ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+LANGS = ("en", "mk", "si")
+N_LATEST = 3
+
+CARD_RE = re.compile(r'', re.DOTALL)
+EXCERPT_RE = re.compile(r'\s*
.*?
', re.DOTALL)
+# homepage .news-articles content, anchored by the trailing "See all" button
+LANDING_RE = re.compile(
+ r'(