Wechsel zu Jekyll

Schon längere Zeit gab es auf meiner, also dieser Web-Seite keine neuen Inhalte mehr. Abgesehen davon, dass das Verfassen und Gestalten von Inhalten entsprechende Ideen und Zeit erfordert, war ein Grund dafür auch, dass mir Wordpress als Plattform zunehmend unsympathischer geworden ist.

Und so musste erst einmal eine neue Lösung her.

Die Suche nach einer besseren Lösung

Um eine bessere und für mich sympathischere Lösung zu finden, musste ich mir einmal klar darüber werden, was mir an der bisherigen Plattform nicht (mehr) gefällt und wie ich es gerne anders hätte.

WYSIWYG-Editor

Als Softwareentwickler bin ich es gewohnt, mit Texteditoren wie z.B. Visual Studio Code zu arbeiten und damit Programmcode zu schreiben. Für Web-Anwendungen kommen zu Java Script und Type Script dann auch noch CSS und HTML Dateien hinzu, was für die Erstellung und Gestaltung einer Web-Seite schon eine solide Basis darstellen würde.

Allerdings wollte ich keine Web-Anwendung mit Front- und Backend erstellen, sondern auf einfachstem Weg meine Inhalte schreiben und veröffentlichen können.

Als Softwareentwickler ist die Erstellung von Dokumentation ein wesentlicher Bestandteil meiner Arbeit und dafür habe ich in den letzten Monaten das Markdown-Format zu schätzen gelernt. Auf Plattformen wie GitHub ist vermutlich in jedem Repository zumindest eine README.md Datei enthalten und bei den Azure DevOps Services lässt sich mit diesem Format sogar ein ganzes Wiki erstellen, das wie Programmcode versionsverwaltet wird.

Zusätzlich empfinde ich es als sehr angenehm, Markdown-Dateien in einem beliebigen Texteditor zu erstellen. Die Möglichkeiten der Formatierung sind zwar begrenzt, aber so verliert man sich auch nicht im Design-Nirvana und findet recht schnell eine ansprechende Strukturierung des Textes.

Für die Gesamtdarstellung der Seite hat Wordpress natürlich den Vorteil, über ein riesiges Angebot an Themes zu verfügen und einen relativ unkomplizierten Wechsel von einem auf ein anderes Theme zu ermöglichen. Das musste ich mir natürlich auch ansehen, denn es gibt viele talentierte Designer da draußen und hier etwas völlig eigenes zu bauen hätte mir für meinen Zweck zuviel Aufwand bedeutet.

Diese Erkenntnisse brachten mich zu meinem ersten Kriterium: Markdown und Theme-Unterstützung

MySQL

Mit meiner Web-Seite habe ich einmal den Anbieter gewechselt.
Dieser Umzug musste aufgrund eines technischen Problems beim vorigen Anbieter recht kurzfristig erfolgen. Es gab zu dieser Zeit nur sehr wenig Inhalte auf meiner Web-Seite, weshalb ich zu diesem Zeitpunkt noch keine Datensicherung eingerichtet hatte - das fiel mir jetzt natürlich auf den Kopf. Ich schaffte es zwar, die Daten aus der noch verfügbaren MySQL-Datenbankdatei zu extrahieren und in die neue Datenbank einzuspielen, allerdings war das eine recht experimentelle Angelegenheit und ich war alles andere als glücklich mit diesem Ablauf.

Viel besser hätte es mir gefallen, hätte ich die einzelnen Artikel und Posts als separate (Text-)Dateien auf meinem eigenen Rechner gehabt und sie bei Bedarf einfach auf den neuen Server hochladen können.
Eine Versionsverwaltung à la GitHub wäre dafür ebenfalls eine optimale Basis.

So ergab sich das nächste Kriterium: Speicherung der Inhalte in einzelnen (Text-)Dateien und Versionsverwaltung in GitHub

Kommentare

Nummer Drei der Ärgernisse war die Kommentarfunktion. In Wahrheit gab es genau einen Post, der größere Aufmerksamkeit von den Nutzern bekommen hat - was mich sehr gefreut hat. Alle anderen blieben allerdings kommentarlos - offiziell.

Was ich nämlich massenhaft bekommen habe sind Spam-Kommentare. Mehrere zehntausend solcher Kommentare pro Jahr sind durch das eingesetzte Spam-Filter-Plugin zwar in den Spam-Ordner verschoben worden, dennoch habe ich - zumindest am Anfang - diese Kommentare immer wieder durchgeblättert um versehentlich als Spam markierte Kommentare manuell freizugeben.
Die Lust auf diese Tätigkeit ist allerdings nach und nach geschwunden vor allem, da ich einerseits keinen weiteren Nutzer-Kommentar mehr bekommen habe und andererseits das Admin-UI von Wordpress recht langsam war.

Das dritte Kriterium war also: Neustart vorerst ohne Kommentarfunktion aber die Möglichkeit haben, diese später und gezielt hinzuzufügen

Die bessere Lösung

Nachdem ich mir über die oben genannten Kriterien im Klaren war, begab ich mich auf die Suche und stolperte recht bald über Jekyll.

Es handelt sich um einen Generator, der aus Markdown-Dateien in einer definierten Verzeichnisstruktur eine statische Web-Seite generiert. Für die Darstellung der Inhalte sind außerdem zahlreiche Themes verfügbar, sodass man recht rasch ansehnliche Ergebnisse erzielen und das Design auch im Nachhinein recht einfach ändern kann.
Kriterium 1 erfüllt

Durch die Verwendung des Markdown-Formats zur Erstellung und Speicherung der Artikel und Posts, die gemeinsam mit den zusätzlichen Inhalten wie z.B. Bildern und den Theme-Bestandteilen als einzelne Dateien vorliegen, lässt sich das gesamte Web-Projekt optimal in einem beliebigen Versionsverwaltungssystem führen.
Kriterium 2 erfüllt

Da eine statische Web-Seite über kein Backend im klassischen Sinn verfügt, sind Kommentare damit von Haus aus nicht möglich. Allerdings haben einige der verfügbaren Themes hier eine entsprechende Unterstützung dabei und so ermöglicht z.B. das von mir gewählte Theme eine Kommentarfunktion über Disqus, die ich bei Bedarf jederzeit einrichten und aktivieren kann.
Kriterium 3 erfüllt

Die Umsetzung

So war ich mit meiner Wahl recht zufrieden und habe gleich damit begonnen, die Posts aus Wordpress in Markdown zu übertragen und meine Web-Seite in statischer Form neu zu veröffentlichen.

Das alles hat sehr einfach funktioniert!

Selbst kleinere Anpassungen im verwendeten Theme konnte ich schon nach kurzer Einarbeitungszeit vornehmen und so sehe ich mich mit dieser Plattform gut gewappnet für die nächsten Jahre. Das Schreiben von Inhalten macht wieder viel mehr Spaß und zusätzlich ist eine statische Web-Seite auf absolut jedem Web-Server betreibbar und erfordert z.B. kein PHP wie Wordpress.

Weiterführende Informationen