Zum Hauptinhalt springen
  1. Projekte - Übersicht/

Professionelle Website

· loading · loading ·
Website Aktuell
ModdyLP - Niklas
Autor
ModdyLP - Niklas
Software Developer and Dream Creator
Inhaltsverzeichnis

Allgemein

Eine neue Website löst die alte Website ab und vieles ist auf einmal sehr viel einfacher. Warum das ganze in mir Euphorie ausgelöst hat, erkläre ich im nachfolgenden.

Kleiner Einschub: Meine Lösung ist sicher nicht für jeden die Beste oder die Schönste. Diese Lösung ist jedoch für mich die, welche am besten funktioniert hat.

Funktionen

Die Website und die Technologien stellen einige Funktionen bereit, welche sowohl für mich als Autor, als auch für Sie als User interessant sein könnten.

  • Blog Funktionalität: Beiträge und News einfach erstellen mit Markdown
  • Kommentare: Commento stellt eine eingebettete Kommentarfunktion bereit, welche moderiert ist und auch anonyme Kommentare zulässt.
  • Likes und Views: Mit aktiviertem Javascript, wird automatisch der View Count aktualisiert und eine Möglichkeit für Likes wird bereitgestellt
  • Geschwindigkeit: Die Seite ist durch den Aufbau extrem schnell und somit auch mobil gut zu bedienen

Technologien

Die Website wird durch einen Static Site Generator namens Hugo erstellt und ist somit vollständig in HTML und Javascript verfügbar. Es sind keine PHP Anteile die Serverseitig Daten hinzufügen. Jegliche Inhalte werden in Markdown erstellt und durch den Generator in HTML Code umgewandelt.

Der Generator ist in GoLang geschrieben und wird auf dem Rechner oder als kurzlebiger Service ausgeführt. Somit ist der Seiteninhalt zu keiner Zeit dynamisch veränderlich, sondern muss immer erst gebaut und deployed werden. Dies hat einige Vorteile, aber natürlich auch Nachteile. Vorteile sind beispielsweise die erhöhte Sicherheit, die geringere Abhängigkeit von dynamischen Elementen und die Geschwindigkeit. Nachteil ist beispielsweise, dass es keinen Login gibt und somit die Inhalte nicht direkt auf der Website im Browser erstellt werden können.

Zum Bauen und Deployment verwende ich eine Kette von Aktivitäten. Es startet mit einer ganz normalen Github Repository. Dort wird der Code verwaltet und in Versionen gegliedert. Anschließend wird bei jeder Aktualisierung ein Webhook ausgelöst, welcher auf meinem Server geprüft wird und ein Skript auslöst. Dieses Skript lädt die aktuelle Version von Github herunter, baut diese auf dem Server und kopiert den gebauten Seitenblock in das Web Verzeichnis des NGINX Webservers.

Der Deploy von einer Änderung dauert nur wenige Sekunden bis maximal eine Minute, somit ist für den Nutzer der Seite dieses Update nichtmal spürbar. Um sicherzustellen, das die Änderungen alle funktionieren, bietet Hugo einen lokalen Entwicklungsserver an. Dieser ist mit einer Live Reload Funktion ausgestattet und baut die Website in einem schnellen Render Prozess. Somit kann bereits lokal die Website betrachtet und getestet werden.

Einige Funktionen sind zwar dort begrenzt oder nicht komplett funktional, diese sind aber meist mit externen Diensten verbunden, wie beispielsweise Firebase.

Zukunft

Ich möchte hier meine Projekte, meine Tätigkeiten und interessante Themen vorstellen und mit den interessierten Lesern in den Austausch kommen. Daher teile ich mein erworbenes Wissen hier und versuche die Quellen entsprechend anzugeben und aufzubereiten.

Ich bin immer offen für Feedback und Anmerkungen. Gerne kann dieser mit einem Kommentar oder per E-Mail an mich gerichtet werden.