bielefeldts datenbanken UG

bielefeldts datenbanken - Neue Webseite

bielefeldts datenbanken und hugo

Bislang war die Webseite von bielefeldts datenbanken auf TYPO3 aufgebaut. Einem CMS-System, dass einem die Arbeit ständiger Aktualisierungen erleichertn soll. Die Erfahrung zeigt aber, dass auf der Seite gar nicht so oft etwas neues zu stehen kam. Die Gründe dafür sind manigfaltig. Ein Auszug aus der langen liste könnte sein:

  1. Es ist immer keine Zeit da
  2. Wenn mal Zeit da ist, dann ist im Zug kein WLAN da

Deshalb musste eine neue Lösung her. Die Anforderungen an die Technik:

  • Die Erstellung neuer Beiträge muss offline möglich sein.
  • Der Betrieb muss wenig Angriffsfläche bieten.
  • Das System sollte wartungsarm sein.
  • Die Software sollte Open-Source sein.
  • Geringe Einarbeitungszeit
  • Ich wollte dabei was neues lernen.

Die Wahl fiel auf hugo

Hugo ist ein static-site-generator. Also eine Software, die aus den beiden Welten “Blog” und “statischen Webseiten” das Beste vereint. Beiträge können als einzelne Dateien geschrieben werden. In einem einfachen Texteditor. Die Texte werden dann auf einem Computer in HTML-Dateien übersetzt und der Webserver stellt dann diese statische Seiten zur Verfügung.

Zu bekommen ist hugo für den Mac über Homebrew und auf Linux Systemen häufig über die Paketverwaltung. Alles weitere hier: hugo-homepage

Mein Setup sieht nun wie folgt aus

  1. Text editieren mit Atom
  2. Versionveraltung mit git
  3. Site-Generierung läuft per Shell-Skript auf dem Server

Der Arbeitsablauf

Texte verfassen und im Browser lokal die Ergebnisse überprüfen.

Dazu wird auf im Terminal mit dem Befehl

> $ hugo serve

Ein lokaler Server gestartet. In der Regel ist der dann über

> http://localhost:1313

zu erreichen.

Wenn alles in Ordnung ist erfolgt ein git Commit in den Master-Branch

> $ git add .
> $ git commit -m "Was habe ich geändert"
> $ git push

Somit sind die neuesten Änderung im git-Repository. Per Cron-Job wird folgends kleines Shell-Skript ausgeführt:

> #!/bin/bash
> cd /var/www/.../workdir
> git pull
> hugo
> cp -R public/* ../../web/.

Die Schritte sind:

  • Wechsel in das Syncverzeichnis
  • Neue Quelle aus dem git abholen
  • hugo aufrufen um die statischen Seiten aufzubauen
  • das public-Verzeichnis in den Root-Ordner des Webservers legen.