Die Website Hof im Gässla ist eine statische Hugo-Seite – schnell und wartungsarm, aber ihre Inhalte liegen als Markdown und YAML im Git-Repository. Für die tägliche Pflege ist das zu sperrig. franz-admin legt eine schlichte Oberfläche darüber.
Was es kann
Die Startseite deckt ab, was im Alltag anfällt:
- Angebote verwalten – anlegen, bearbeiten, löschen, inklusive Verkaufsstand
- Rassen pflegen – hinzufügen, umbenennen (bestehende Angebote werden mitgezogen) oder löschen, optional mit Ersatzrasse
- Termin setzen – der globale Verteiltermin für die Startseite
Über ein Menü erreicht man je eine Unterseite für die übrigen Bereiche der Website:
- Texte von Specials, Hofvorstellung und Philosophie – in einem Editor mit Werkzeugleiste und Vorschau, die beim Tippen mitläuft
- Preise und Pakete als Tabellen, Galerie, Navigation, Kontaktdaten und Profil-Links im Footer
- Sektionen ein- und ausblenden – welcher Block auf der Startseite erscheint
Dazu, auf jeder Seite erreichbar:
- Veröffentlichen – ein Knopf macht
git add,commitundpush; danach baut die Pipeline die Seite neu - Zurücksetzen – bei Missgriffen zurück auf den Upstream-Stand
- Git-Status im Blick – ein Badge in der Kopfzeile zeigt, ob etwas uncommitted ist
Technik
Eine FastAPI-Anwendung mit Jinja2-Templates, die das Content-Repository in ein Datenverzeichnis klont und direkt darin arbeitet. Läuft als Container hinter einem Reverse Proxy, die Authentifizierung übernimmt die Infrastruktur davor.
Drei Entscheidungen, die den Ausschlag gaben:
Die Formulare kennen sich selbst. Welche Felder es gibt, steht in einer einzigen Schemadatei – Datei, Pfad, Beschriftung, Typ. Oberfläche und Speicherlogik arbeiten generisch, ein neues Feld ist ein Eintrag in einer Liste.
Kommentare überleben das Speichern. Die Konfigurationsdateien der Website enthalten Erklärungen und auskommentierte Textbausteine, die für die Pflege wertvoll sind. Ein gewöhnlicher YAML- oder TOML-Schreiber wirft sie beim ersten Speichern weg. Hier laufen beide Formate im Round-Trip-Modus, sodass unveränderte Stellen buchstäblich unverändert bleiben – inklusive Einrückung und Anführungszeichen.
Nicht alles ist bearbeitbar. Die Hugo-Konfiguration enthält inzwischen build-kritische Angaben: die Einbindung der npm-Pakete, Bildbreiten, Breakpoints. Wer die verstellt, bekommt eine Seite, die nicht mehr baut. Sie stehen deshalb nicht im Schema und sind über die Oberfläche nicht erreichbar. Einen freien Datei-Editor gibt es absichtlich nicht.
Die Vorschau im Texteditor rendert der Server mit derselben Markdown-Auslegung, die Hugo verwendet – eine im Browser nachgebaute Vorschau würde in Details abweichen und damit das Falsche versprechen.