Website Relaunch 2026
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 diesem Relaunch komme diesem geänderten Bedürfnissen auf technischer Ebene nach.
Es wird noch gebaut.
Es braucht Struktur
So hat sich folgende Struktur ergeben:
- 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 Blocks
Technisches “Lastenheft”
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
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,
- Beer.css