preloader

Hof im Gässla

Website für die Direktvermarktung

  • Hugo
  • Bootstrap 5
  • npm
  • Woodpecker CI
  • Markdown
Hof im Gässla

Der Hof im Gässla verkauft Fleisch direkt ab Hof – „Gutes Fleisch direkt vom Erzeuger". Die Seite stellt den Betrieb vor und zeigt, welche Tiere wann zur Verteilung kommen.

Wie sie aufgebaut ist

  • Angebote als Inhalte – jedes Tier ist eine Markdown-Seite mit Name, Rasse, Termin und Verkaufsstand
  • Inhalte je Sektion – Startseite, Rassenliste und der globale Termin liegen in YAML-Dateien neben dem Inhalt, eine Datei pro Abschnitt
  • Längere Texte als Markdown – Absätze und Aufzählungen stehen als Markdown-Block in der YAML-Datei, nicht als Liste einzelner Zeilen
  • Statisch ausgeliefert – Hugo baut die Seite, eine Woodpecker-Pipeline rollt sie per rsync aus

Modernisierung 2026

Die Seite lief noch auf einem zugekauften Theme von 2014. Das ist inzwischen aufgelöst und der ganze Unterbau erneuert:

  • Kein Theme mehr – Layouts und Assets liegen direkt im Projekt, es gibt nur noch einen Ort pro Datei
  • Bibliotheken per npm – Bootstrap 5, Font Awesome, Splide und VenoBox kommen aus package.json und werden von Renovate im Blick behalten, statt als eingecheckte Dateien zu veralten
  • jQuery ist weg – der Galerie-Slider, die Lightbox und die Einblendeffekte laufen ohne. Allein jQuery waren 88 kB, dazu kamen zwei Bibliotheken, die seit Jahren nicht mehr gepflegt werden
  • Bilder macht Hugo – aus einem Quellbild entstehen die passenden Größen als WebP mit JPEG-Rückfall; handgepflegte Vorschaubilder gibt es nicht mehr. Der erste Seitenaufruf lädt dadurch rund ein Fünftel der früheren Datenmenge
  • Ein Stylesheet, ein Skript – gebündelt, minifiziert und mit Hash im Dateinamen, damit Caches sauber greifen. Die Kompression auf dem Server war zuvor gar nicht aktiv
  • Facebook-Plugin entfernt – Meta entwickelt die Social Plugins nicht weiter, und das eingebundene SDK setzte Cookies, ohne dass die Datenschutzerklärung das abdeckte. An seiner Stelle stehen jetzt die Profil-Links
  • Vorschau je Pull Request – jeder PR wird in einen eigenen Unterordner ausgerollt, sodass man vor dem Zusammenführen sieht, was dabei herauskommt

Optisch ist die Seite dabei bewusst dieselbe geblieben: der Inhalt liegt auf einem schmalen, hell abgesetzten Blatt, aus dem allein das Hero-Bild seitlich herausragt.

Damit die Familie die Inhalte nicht per Texteditor und Git pflegen muss, gibt es dazu ein eigenes Verwaltungswerkzeug: franz-admin.

← Alle Projekte