Hallo Welt

Erster Beitrag. Statt eines leeren „Hallo Welt” nutze ich ihn, um kurz zu zeigen, wie die Seite gebaut ist.

Das Theme

Der Blog läuft auf AstroBlogTheme, das direkt von GitHub als Paket eingebunden wird – ähnlich wie ein Hugo-Modul. Das eigentliche Blog-Repo bleibt dadurch winzig: eine Konfiguration, eine Content-Collection und die Beiträge.

Inhalte

Jeder Beitrag ist eine Markdown-Datei. Ein Ordner pro Beitrag, darin eine Datei pro Sprache (de.md, en.md). Der Ordnername verknüpft die Übersetzungen automatisch.

Deployment

Es gibt keinen Server, der Astro baut. Stattdessen:

Von GitHub auf den Server

Ein GitHub-Actions-Workflow baut bei jedem Push auf main die statische Seite und schiebt den Output in einen dist-Branch. Der Webserver klont nur diesen Branch und liefert die Dateien direkt über nginx aus – kein Node, kein Build-Schritt auf der Kiste.

GitLab-Spiegel

Parallel spiegelt derselbe Workflow alles auf eine selbstgehostete GitLab-Instanz, als zweite Kopie.

Was schon drin ist

  • Heller und dunkler Modus
  • Volltextsuche im Browser, ohne Server
  • Tags im Hugo-Stil unter /tags/
  • Zweisprachig (Deutsch und Englisch) über eigene Slugs
  • RSS- und JSON-Feed
  • Lesezeit, Inhaltsverzeichnis und Anker an den Überschriften
  • Eigene Fehlerseiten
  • Keine Cookies, kein Tracking, keine externen Skripte

Was noch kommt

Pagination, ein Archiv nach Jahr und ein automatischer Pull auf dem Server stehen noch aus. Mehr dazu in späteren Beiträgen.