This is my nice little test site

Subtitles are great

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 alle umgezogen, aber das kommt noch.

Nachdem eines meiner installierten Wordpress-Plugins wohl eine Lücke hatte und jemand mein Blog manipuliert hatte, lieferte die Seite Werbung und potentiell 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.

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, aber auch viele anderen 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, daher war das eine gute Gelegenheit sich damit 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, 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 rein 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 z.B. Paging auf der Startseite und 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öglichst alle meine Internet-Präsenzen auf statische Webseiten umzubauen und dafür ein einheitliches Tool für alles verwenden zu können. Ich halte hier auf dem Laufenden über den Prozess.

Achja, die alten Inhalte werden auch noch umgezogen nach und nach, aber das dauert und vermutlich werde ich dabei sehr ausführlich ausmisten.