UCas' Life

IT · Musik · Politik · Dudweiler · Ich

Da bin ich wieder

04.09.2022, 21:35 Uhr

Das UCasLife-Blog ist wieder da, generiert mit dem "Pretty Simple Website Generator"

Nach einer etwas längeren Downtime, ist das Blog wieder am Start. Die alten Beiträge sind noch nicht umgezogen, das werde ich zum Teil noch machen.

Nachdem eines meiner genutzten Wordpress-Plugins wohl eine Lücke hatte und jemand mein Blog manipulierte, lieferte die Seite Werbung und eventuell auch Schadcode aus. Ich habe natürlich sofort den Code durchforstet und vermeintlich die manipulierte Stelle gefunden. Nachdem ich den SPAM-Code entfernt hatte, sah alles gut aus, aber nach ein paar Tagen war die Werbung auf der Seite wieder da. Nach einem freundlichen Hinweis habe ich wieder sofort versucht, das zu ändern und habe auch alle Plugins deaktiviert, die das Problem sein könnten. Leider war es auch dieses Mal keine dauerhafte Lösung.

Natürlich hätte ich an der Stelle noch weiteren Aufwand in das Problem stecken können, entschied mich aber dafür, mein Blog komplett neu aufzusetzen. Dieses Mal aber ohne Wordpress, denn mit Wordpress war ich sowieso schon eine Weile nicht mehr zufrieden. Schlechte Performance, regelmäßige Sicherheitsprobleme und mir persönlich zu viel Aufwand.

Neben einem tollen Projekt meines Freundes Holm, der an einem Static-Website-Generator für Podcasts arbeitet, habe ich mir verschiedene der bekannten Static-Website-Generatoren angeschaut. Aber alle fühlten sich total überkomplex an, für das was ich eigentlich brauche. Holms Projekt, der "Zentonic Publisher" (darüber werde ich noch ein anderes Mal berichten), ist sicher neben der Veröffentlichung von Podcasts auch für ein einfaches Blog geeignet. Der Zentonic Publisher, wie auch einige andere Tools die ich fand, basieren auf Markdown und Python. Markdown kann ich, Python nicht, was mich dazu brachte mir Python mal etwas genauer anzuschauen.

Python als Sprache reizt mich schon seit Jahren, aber es fehlte immer ein halbwegs sinnvoller akuter Zweck. Daher war das eine gute Gelegenheit sich damit endlich zu befassen. Aber anstatt an einem bestehenden Werkzeug zu schrauben, habe ich mich erst einmal entschieden, mir das Konzept eines Static-Website-Generators selbst zu erarbeiten indem ich einen sehr einfachen Generator selbst schreibe. Diese Seite zeigt, dass ich halbwegs erfolgreich damit war. :-)

Die "pswg.py" hat 137 Zeilen aktuell und ist noch sehr Kraut-Und-Rüben-Spaghetticode. Aber das Konzept funktioniert soweit. Ich habe einen Ordner "input", darin alles was in den Generator gefüttert wird. Das ist ein Ordner "article" mit allen Blogbeiträgen und ein Ordner "page" mit allen Inhaltsseiten. Außerdem gibt es "img" mit allen Grafiken und Bildern, "static" für Header, Footer und Navigation und "theme" mit der style.css und jeweils einem Template für Artikel und Seiten. Noch braucht es eine "configuration.ini", in der steht der Basispfad der Seite und der Seitentitel. Wenn ich diese Datei noch weg bekäme, wäre ich sehr glücklich.

Führt man im übergeordneten Ordner von "input" die pswg.py aus, wird ein Ordner "output" angelegt und dort alles hinein generiert und kopiert was gebraucht wird. Dieser Output-Ordner kann danach auf den Webspace kipiert werden, fertig ist die Seite.

Das Konzept hat noch viele Lücken und Schwächen, vieles fehlt noch, wie zum Beispiel ein Paging auf der Startseite und sicherlich noch einige Performanzoptimierungen. Aber es funktioniert und ich übe damit die Python-Bascics. Mein mittelfristiges Ziel ist es, eventuell den Zentonci-Publisher zu nutzen. Auf jeden Fall möchte ich möglichst alle meine Internet-Präsenzen auf statische Webseiten umbauen und dafür ein einheitliches Tool für alles verwenden. Ich halte hier auf dem Laufenden über den Prozess.