kirkanos.net ist eine statische Hugo-Seite: schnell, wartungsarm – und ihre Inhalte liegen als Markdown und YAML im Git-Repository. Für einen schnellen Post zwischendurch ist das zu umständlich. kirkanos-admin legt eine Oberfläche darüber, dasselbe Prinzip wie bei franz-admin, nur für die Felder dieser Seite.
Was es kann
- Blog-Posts auflisten, bearbeiten und neu anlegen – jeder Post ist ein Page Bundle
unter
content/blog/<slug>/index.md - Projekte pflegen, also genau die Kacheln, in der dieser Text steht: Titel, Untertitel, Technik-Badges, Links und die Priorität für die Sortierung
- Bilder pro Post oder Projekt hochladen und direkt in den Markdown einbinden, dazu die statischen Hintergrundbilder für Banner und Funfacts
- TravelMap – welche Länder wie oft besucht wurden
- Skills, About, Banner und die Funfacts-Zähler der Startseite
- Veröffentlichen – der Git-Status steht in der Kopfzeile, Sync und Push sind je ein Knopf; danach baut die Woodpecker-Pipeline die Seite neu
Technik
Eine Flask-Anwendung, die das Content-Repository in ein Datenverzeichnis klont und direkt darin arbeitet. Das Frontend ist eine einzige Template-Datei, der Markdown-Editor ist EasyMDE. Läuft als Container hinter einem Reverse Proxy, die Authentifizierung übernimmt die Infrastruktur davor.
Zwei Kleinigkeiten, die im Alltag den Unterschied machen:
Das Formular darf nicht alles wissen müssen. Front-Matter-Felder, die es nicht kennt
– date, aliases, was später noch dazukommt – überleben das Speichern unverändert.
Sonst hätte jedes neue Feld im Theme stillschweigend Daten gekostet.
Die Zähler der Startseite sind ganze Zahlen. Sie werden im Frontend von null
hochanimiert, ein Komma bricht die Animation. Die Einheit dahinter – das € beim
Marktwert der Magic-Sammlung etwa – ist deshalb ein eigenes Feld und nicht Teil der Zahl.
Ein Teil der Inhalte kommt gar nicht von Hand: Die YouTube-Posts und die Funfacts
schreibt die nächtliche Pipeline selbst ins Repo. Das Admin-Tool zieht sie sich mit
pull --ff-only und arbeitet darauf weiter.