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>
This commit is contained in:
popovskikandClaude Opus 4.8 committed 2026-08-08 16:18:29 +02:00
1 parent 6204db5f0c
commit 9ddd0f88ef
55 files changed
+4572

No files matched your search

@@ -0,0 +1,26 @@
---
type: news
slug: proof-of-means-updated-2026
lang: en
source_folder: news
title: Proof-of-means amount updated to €507,43 per month
date: '2026-08-01'
date_line: Published 1 August 2026
hero:
src: /images/news-proof-of-means.webp
alt: A cash box filled with euro coins and banknotes
width: '1600'
height: '1067'
caption_html: <span class="fig-illustrative"><i aria-hidden="true" class="fas fa-circle-info"></i> Illustrative image</span> · Image by <a href="https://pixabay.com/users/alexas_fotos-686414/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1642989" rel="noopener" target="_blank">Alexa</a> from <a href="https://pixabay.com/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1642989" rel="noopener" target="_blank">Pixabay</a>
body_format: html
---
<div class="news-article-body">
<p>If you are applying for or renewing a student residence permit in Slovenia, you must prove you have enough money to support yourself. That requirement is tied to Slovenia’s basic minimum income (osnovni znesek minimalnega dohodka).</p>
<p>From 1 April 2026 this basic minimum income is €507,43 per month. This is the amount you should be ready to show for the whole academic year, most commonly through a parent’s written statement of support, or through other accepted proof such as a scholarship, bank funds, or student-work earnings.</p>
<p>Because the figure follows the minimum income, it can change again. Always confirm the current official amount with your upravna enota (administrative unit) before you submit, and ask how they calculate the period and which evidence they accept.</p>
</div>
<div class="news-source">
<span class="news-source-label"><i aria-hidden="true" class="fas fa-up-right-from-square"></i> Official source</span>
<a href="https://www.gov.si/teme/denarna-socialna-pomoc/" rel="noopener" target="_blank">gov.si, Financial social assistance</a>
</div>
<a class="btn btn-secondary news-article-cta" href="../../student-welcome-guide/student-residence-permit/">Read the residence permit guide</a>
@@ -0,0 +1,26 @@
---
type: news
slug: proof-of-means-updated-2026
lang: mk
source_folder: news
title: Износот за доказ за средства ажуриран на 507,43 € месечно
date: '2026-08-01'
date_line: Објавено 1 август 2026
hero:
src: /images/news-proof-of-means.webp
alt: Каса полна со евра, монети и банкноти
width: '1600'
height: '1067'
caption_html: <span class="fig-illustrative"><i aria-hidden="true" class="fas fa-circle-info"></i> Илустративна слика</span> · Image by <a href="https://pixabay.com/users/alexas_fotos-686414/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1642989" rel="noopener" target="_blank">Alexa</a> from <a href="https://pixabay.com/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1642989" rel="noopener" target="_blank">Pixabay</a>
body_format: html
---
<div class="news-article-body">
<p>Ако аплицирате за студентска дозвола за престој во Словенија или ја продолжувате, мора да докажете дека имате доволно средства за издршка. Тој услов е врзан за словенечкиот основен износ на минимален доход (osnovni znesek minimalnega dohodka).</p>
<p>Од 1 април 2026 овој основен износ на минимален доход изнесува 507,43 € месечно. Тоа е износот што треба да бидете подготвени да го докажете за целата академска година, најчесто преку писмена изјава од родител за поддршка, или преку други прифатени докази како стипендија, банкарски средства или заработка од студентска работа.</p>
<p>Бидејќи износот го следи минималниот доход, може повторно да се промени. Пред да поднесете, секогаш потврдете го тековниот официјален износ кај вашата управна единица и прашајте како го пресметуваат периодот и кои докази ги прифаќаат.</p>
</div>
<div class="news-source">
<span class="news-source-label"><i aria-hidden="true" class="fas fa-up-right-from-square"></i> Официјален извор</span>
<a href="https://www.gov.si/teme/denarna-socialna-pomoc/" rel="noopener" target="_blank">gov.si, Парична социјална помош</a>
</div>
<a class="btn btn-secondary news-article-cta" href="../../student-welcome-guide/student-residence-permit/">Прочитај го водичот за дозвола за престој</a>
@@ -0,0 +1,26 @@
---
type: news
slug: proof-of-means-updated-2026
lang: si
source_folder: news
title: Znesek dokazila o sredstvih posodobljen na 507,43 € na mesec
date: '2026-08-01'
date_line: Objavljeno 1 avgust 2026
hero:
src: /images/news-proof-of-means.webp
alt: Blagajna, polna evrskih kovancev in bankovcev
width: '1600'
height: '1067'
caption_html: <span class="fig-illustrative"><i aria-hidden="true" class="fas fa-circle-info"></i> Ilustrativna slika</span> · Image by <a href="https://pixabay.com/users/alexas_fotos-686414/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1642989" rel="noopener" target="_blank">Alexa</a> from <a href="https://pixabay.com/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1642989" rel="noopener" target="_blank">Pixabay</a>
body_format: html
---
<div class="news-article-body">
<p>Če zaprošate za študentsko dovoljenje za prebivanje v Sloveniji ali ga podaljšujete, morate dokazati, da imate dovolj sredstev za preživljanje. Ta pogoj je vezan na slovenski osnovni znesek minimalnega dohodka.</p>
<p>Od 1. aprila 2026 ta osnovni znesek minimalnega dohodka znaša 507,43 € na mesec. To je znesek, ki ga morate biti pripravljeni izkazati za celotno študijsko leto, najpogosteje s pisno izjavo staršev o podpori ali z drugimi sprejetimi dokazili, kot so štipendija, bančna sredstva ali zaslužek od študentskega dela.</p>
<p>Ker znesek sledi minimalnemu dohodku, se lahko znova spremeni. Aktualni uradni znesek pred oddajo vedno preverite pri svoji upravni enoti in vprašajte, kako izračunajo obdobje in katera dokazila sprejmejo.</p>
</div>
<div class="news-source">
<span class="news-source-label"><i aria-hidden="true" class="fas fa-up-right-from-square"></i> Uradni vir</span>
<a href="https://www.gov.si/teme/denarna-socialna-pomoc/" rel="noopener" target="_blank">gov.si, Denarna socialna pomoč</a>
</div>
<a class="btn btn-secondary news-article-cta" href="../../student-welcome-guide/student-residence-permit/">Preberi vodnik o dovoljenju za prebivanje</a>