diff --git a/public/diagrams/architektura-maszyna.svg b/public/diagrams/architektura-maszyna.svg
new file mode 100644
index 0000000..bda902b
--- /dev/null
+++ b/public/diagrams/architektura-maszyna.svg
@@ -0,0 +1,111 @@
+
diff --git a/public/diagrams/cover-git-cms.svg b/public/diagrams/cover-git-cms.svg
new file mode 100644
index 0000000..565f5fe
--- /dev/null
+++ b/public/diagrams/cover-git-cms.svg
@@ -0,0 +1,78 @@
+
diff --git a/public/diagrams/od-zapisu-do-publikacji.svg b/public/diagrams/od-zapisu-do-publikacji.svg
new file mode 100644
index 0000000..471b2ad
--- /dev/null
+++ b/public/diagrams/od-zapisu-do-publikacji.svg
@@ -0,0 +1,76 @@
+
diff --git a/public/diagrams/powierzchnia-ataku.svg b/public/diagrams/powierzchnia-ataku.svg
new file mode 100644
index 0000000..839e6f3
--- /dev/null
+++ b/public/diagrams/powierzchnia-ataku.svg
@@ -0,0 +1,48 @@
+
diff --git a/src/content/news/architektura-demo-git-cms.md b/src/content/news/architektura-demo-git-cms.md
index 7e96cb8..125a118 100644
--- a/src/content/news/architektura-demo-git-cms.md
+++ b/src/content/news/architektura-demo-git-cms.md
@@ -1,9 +1,10 @@
---
title: "Jak działa to demo: portal statyczny + CMS oparty o git"
description: "Architektura rozwiązania, przydatne linki i porównanie klas rozwiązań: strona w 100% statyczna z graficznym edytorem treści vs CMS z własną bazą danych."
-date: 2026-07-28
+date: 2026-07-23
category: demo
author: Cyfronet
+cover: /diagrams/cover-git-cms.svg
draft: false
---
@@ -12,28 +13,18 @@ w repozytorium git. Redaktor dostaje **graficzny edytor w przeglądarce** —
a mimo to w produkcji nie działa żadna aplikacja, żadna baza danych.
Ten artykuł został napisany i opublikowany dokładnie tą ścieżką.
-## Jak to działa
+## Od zapisu do publikacji
-```
- redaktor (przeglądarka)
- │ edycja WYSIWYG + upload obrazów
- ▼
- Sveltia CMS (/admin/ — statyczne pliki JS, zero własnego backendu)
- │ zapis = commit przez API (logowanie OAuth)
- ▼
- Gitea (repozytorium: treść w Markdown + obrazy)
- │ poller sprawdza nowe commity (systemd timer, co ~10 s)
- ▼
- build w kontenerze (Astro: Markdown → HTML, ~225 stron)
- │ atomowa podmiana symlinka na nową wersję
- ▼
- nginx — serwuje wyłącznie statyczne pliki
-```
+
Publikacja jest automatyczna — zapis w edytorze po chwili sam pojawia się
na stronie, bez żadnego ręcznego deployu. Każda zmiana to commit, więc
**pełna historia treści i możliwość cofnięcia są w gicie za darmo**.
+## Jak to wygląda na maszynie
+
+
+
## Gdzie co jest
| Co | Gdzie |
@@ -49,15 +40,7 @@ i jednorazowy kontener builda odpalany przez systemd timer.
## Dlaczego strona statyczna
-```
- CMS z bazą danych: to rozwiązanie:
-
- internet ──► aplikacja CMS (PHP/Node) internet ──► pliki HTML
- + baza danych (nie ma czego zhakować,
- + pluginy nie ma czego patchować)
- ▲ wszystko publiczne,
- wszystko trzeba patchować edycja ──► git (tylko zalogowani)
-```
+
- **Bezpieczeństwo**: publicznie wystawione są tylko pliki. Nie istnieje
panel admina dostępny z internetu, baza do wykradzenia ani runtime z CVE.