Und mal wieder alles neu! https://niklas-stephan.de hat sich über die Jahre von meiner Digitalen Visitenkarte zu einer Ansicht meines Digitalen Gartens entwickelt.

Mit dem Relaunch komme ich diesen geänderten Bedürfnissen auf technischer Ebene nach.

Inhalt der Website

niklas-stephan.de ist nun wie folgt aufgebaut:

  • Startseite: eine möglichst schöne Übersicht darüber, was einen Besucher meiner Website erwartet
  • About Me: Mein Lebenslauf
  • Docs: Ein Wiki, das alle von mir erstellte Dokumentation aus verschiedenen Bereichen darstellt, die nicht weiter vertraulich sind.
  • Blog: Ein paar Neuigkeiten und generische Beiträge im Stile eines klassischen Blogs

Die Technik

Auf technischer Ebene habe ich mich für ein möglichst modulares Setup entschieden, das zum einen Inhalte von Technik trennt aber andererseits eine technisch “saubere” und “schnelle” Lösung darstellt.

Konkret bedeutet das:

  • Sämtlicher von mir für die Website geschriebener Quellcode liegt in einem öffentlichen Code Repository.
  • Diesen Quellcode generiere ich selber und verwende KI nur als Hilfestellung und nicht federführend.
  • Ich begrenze mich auf gängige Standardtechnologien und versuche möglichst einheitliche Programmiersprachen wie Go und HTML5 zu nutzen.
  • Die komplette Website und dazugehörige Technik läuft sowohl als Entwicklungsversion als auch in seiner produktiven Form in einem Docker Container, der ebenfalls in einem öffentlich erreichbaren Repository bereit liegt.
  • Die Website nutzt so viel wie möglich statisch generierte Seiten für besseres SEO, sauberen Code, wenig Javascript.
  • An stellen wo eine erweiterte Interaktivität erforderlich ist, wie z.B. im Wiki, nutze ich eine dafür spezialisierte Platform und bette diese einfach in die Website ein.

Genutzte Software

Es werden verschiedene Tools genutzt.

Git

  • Als Code Repository

Docker

  • Sowohl auf Client- als auch auf Server-Ebene

Debian Linux

  • trixie:slim als Basis-Image

Hugo

  • Generierung der statischen Seiten

Outline

  • Content Erstellung
  • iFrame für Wiki
  • API für Blog
  • Webhook zur Synchronisation

Go Programme

  • Ein Program welches Beiträge von Outline holt und in ein für Hugo gut verabeitbares Format umwandelt
  • Ein Program das einen minimalistischen Webserver für statische Dateien startet und auf einen API Endpunkt “hört” um die die Aktualisierung von Inhalten zu triggern.

Supervisord

  • Als Wächter über die Prozesse und damit Webserver + Hugo parallel ausgeführt werden (können).
  • Logfile Mgmt

Genutzte Bibliotheken

  • Go


f