Files
msos/content/events/in-memory-of-frosina-kulakova/en.md
T
popovskikandClaude Opus 4.8 9ddd0f88ef feat(cms): U1 content model + migration scaffold for blog/news/events
Establish content/ as the source of truth for editable content and
back-fill it from the existing detail pages, per U1 of the no-code CMS
plan.

- docs/content-model.md: front-matter schema (EN/MK/SI), body_format
  html-vs-markdown, content/events -> projects/ output mapping.
- tools/migrate_pages_to_content.py: bs4/yaml extractor; pulls title,
  subtitle, category, ISO date (from ARTICLE_DATES), hero image+caption;
  preserves the article body PLUS trailing sibling sections (event
  galleries) verbatim as body_format: html. Reports unparseable pages
  instead of emitting half-formed files.
- content/**: 51 files (17 entries x EN/MK/SI), 0 skips.
- tools/tests/test_migrate_roundtrip.py: 12 characterization tests
  (structured fields, news-has-no-subtitle, event gallery/lightbox
  preserved, Cyrillic UTF-8 round-trip, every page parses).
- .gitignore: ignore __pycache__/ and *.pyc.

U1 is unblocked and standalone. U2 (render content -> pages) is next;
U5/U6 remain blocked on Open Question Q1 (Gitea<->GitHub topology).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-08 16:18:29 +02:00

41 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
type: event
slug: in-memory-of-frosina-kulakova
lang: en
source_folder: projects
title: In Memory of Frosina Kulakova
subtitle: On February 8, 2025, Macedonian students in Ljubljana gathered for a peaceful public event to honor the memory of Frosina Kulakova, who tragically lost her life in Skopje just days earlier.
date: '2025-02-08'
date_line: Published on February 8, 2025
hero:
src: /images/frosina-1.webp
alt: Candles and flowers in memory of Frosina Kulakova
width: '720'
height: '480'
body_format: html
---
<div class="article-body">
<p>The news of Frosina’s tragic passing on January 29, 2025, deeply shook students across Slovenia. Even though we are far from home, the pain was shared, and the need to come together was clear. Out of this feeling grew the initiative to organize a peaceful public gathering in Ljubljana, where young people could unite, light candles, lay flowers, and dedicate a moment of silence in her memory.</p>
<figure class="article-inline-image">
<img alt="Students lighting candles in memory of Frosina" decoding="async" height="480" loading="lazy" src="../../../images/frosina-2.webp" width="720"/>
</figure>
<h2 id="section-1">A message of unity</h2>
<p>This gathering was not about politics or criticism. It was about togetherness, humanity, and shared responsibility. As students abroad, we wanted to show that we care, that we remember, and that we hope for a better tomorrow where such injustices will no longer happen.</p>
<p>By standing side by side in moments like these, we learn that our strength lies not only in our studies and ambitions but also in our ability to support one another when it matters most.</p>
<figure class="article-inline-image">
<img alt="Flowers and candles laid in remembrance" decoding="async" height="480" loading="lazy" src="../../../images/frosina-3.webp" width="720"/>
</figure>
<h2 id="section-2">Closing thoughts</h2>
<p>Frosina’s story reminded us of the fragility of life and the importance of solidarity. We are grateful to all who came, who lit a candle, or who simply stood with us in silence.</p>
<p>As an organization, MSOS will always strive to provide a space where students can come together, in joy, in struggle, and in remembrance, to shape a community that carries both hope and responsibility for the future.</p>
<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 class="eg-thumb" data-caption="In Memory of Frosina Kulakova" data-full="../../../images/frosina-1.webp" type="button"><img alt="In Memory of Frosina Kulakova, photo 1" decoding="async" height="480" loading="lazy" src="../../../images/frosina-1.webp" width="720"/></button>
<button class="eg-thumb" data-caption="In Memory of Frosina Kulakova" data-full="../../../images/frosina-2.webp" type="button"><img alt="In Memory of Frosina Kulakova, photo 2" decoding="async" height="480" loading="lazy" src="../../../images/frosina-2.webp" width="720"/></button>
<button class="eg-thumb" data-caption="In Memory of Frosina Kulakova" data-full="../../../images/frosina-3.webp" type="button"><img alt="In Memory of Frosina Kulakova, photo 3" decoding="async" height="480" loading="lazy" src="../../../images/frosina-3.webp" width="720"/></button>
</div>
</section>