- PHP 62%
- CSS 33.2%
- Nix 2.9%
- Just 1.9%
- Startseite: rote Rubrik 'Neuste Artikel', Aufmacher + zweispaltiges Teaser-Grid; Archiv-Tags aus Listen entfernt; Aufmacher-Linie einfach - Jobradar als Anzeigen-Karten mit Fakten und CTA, mit Sidebar-Layout - Autoren als Kirby-Content (content/authors/, Panel-pflegbar via Blueprint): /authors-Übersicht und Autorseiten mit Bio + Bild + Artikel-Grid; Autorenbox in Artikel-Sidebar, verlinkte Byline, Autoren-Widget in der Sidebar Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| assets | ||
| content | ||
| site | ||
| .editorconfig | ||
| .gitignore | ||
| .htaccess | ||
| composer.json | ||
| composer.lock | ||
| flake.lock | ||
| flake.nix | ||
| index.php | ||
| justfile | ||
| README.md | ||
MTA-R.de — Kirby-CMS-PoC
Proof of Concept für den Relaunch von mta-r.de (Fachportal für Medizinische Technolog:innen für Radiologie). Dieser PoC dient dem Stack-Vergleich Kirby vs. Hugo — beide Varianten sollen „angefasst" werden können.
Basis: Kirby Plainkit (Kirby CMS 5), flat-file, kein Datenbank-Setup nötig.
Lizenzhinweis
Kirby ist für die lokale Entwicklung kostenlos. Für den Produktivbetrieb ist eine Lizenz erforderlich (aktuell ~99 € pro Domain, einmalig). Ohne Lizenz zeigt das Panel im öffentlichen Betrieb einen Hinweis-Banner — technisch lauffähig bleibt es. Für den Stack-Vergleich relevant: Hugo ist Open Source (kostenlos), Kirby kostet einmalig, bietet dafür ein redaktionelles Panel.
Schnellstart
Tooling kommt ausschließlich aus Nix — nichts wird global installiert.
nix develop # devShell: php83, composer, just
just # Task-Übersicht
just setup # composer install (installiert Kirby CMS nach kirby/)
just dev # Dev-Server auf http://localhost:8890
just dev startet den Kirby-Router (php -S localhost:8890 kirby/router.php).
Port überschreibbar: just dev 9000.
Panel (der Hauptgrund für diesen PoC)
Das Kirby-Panel ist das redaktionelle Backend:
- URL: http://localhost:8890/panel
- Beim ersten Aufruf legt der Installer den ersten Admin-Account an
(aktiviert über
'panel' => ['install' => true]insite/config/config.php). - Felder und Ansichten steuern die Blueprints unter
site/blueprints/— hier definiert, welche Felder ein Artikel, eine Frage usw. im Panel zeigt.
Q&A-Flow (Killer-Feature)
/fragen enthält ein echtes Frageformular. Der Ablauf:
- Besucher:in sendet eine Frage → Kirby-Route in
site/config/config.phplegt daraus automatisch einen Draft untercontent/fragen/_drafts/an. - Der Draft erscheint im Panel unter Fragen & Antworten → Eingegangene Fragen.
- Redaktion schreibt die Antwort ins Feld und veröffentlicht per Klick — ohne eine Zeile Code.
Das demonstriert den Kernvorteil von Kirby gegenüber Hugo: eingebautes, moderiertes Redaktions-Backend statt reinem Static-Site-Build.
Struktur
content/ Flat-File-Inhalte (die "Datenbank")
home/ Startseite
blog/<nr>_<slug>/ Artikel (article.txt) → URL /blog/<slug>
jobs/ Jobradar + jobs.json (BA-Stellenexport)
fragen/ Fragenforum (Drafts landen unter _drafts/)
site/
config/config.php Panel-Install + Q&A-Route
blueprints/ Panel-Felddefinitionen
templates/ PHP-Templates (home, article, blog, jobs, fragen, frage)
snippets/ header/footer
assets/css/main.css Redaktionelles Layout, Farbtokens vom Altbestand
kirby/ vendor/ Composer-verwaltet, git-ignoriert (composer install)
Inhalte
- 7 Archiv-Artikel aus dem Altbestand (
Archiviert: true, zeigen ein Archiv-Banner). Zwei Hodenkapsel-Artikel verweisen perNeuefassungauf den neuen Artikel. - 1 neuer Artikel „Die Hodenkapsel: Vom Pflichtprogramm zum Auslaufmodell"
(
/blog/hodenkapsel-vom-pflichtprogramm-zum-auslaufmodell). - Jobradar mit 15 Stellen aus der BA-Jobsuche (
content/jobs/jobs.json).
Hinweis: Die aus dem Altbestand importierten Bild-Referenzen (
/site/assets/files/…) wurden beim Import entfernt, da die Assets nicht Teil des Exports sind. Die Fließtexte sind vollständig.
Design
Ruhiges, redaktionelles Layout, textzentriert (max. ~68ch Zeilenlänge),
großzügiger Weißraum, bewusst kein „AI-Slop" (keine Gradients, keine
Card-Grids mit Schatten, keine Emoji-Bullets). Farbtokens aus dem Altbestand:
Anthrazit #343434, Schiefer #4b656d, Signalrot #d10000 (sparsam), Teal
#7bb1b9.