Quietly Confident - Static Website Generator

Sodele. Für die Beifahrerin brauchte ich einen Static Site Generator, das heisst, ein Tool mit dem man aus Textseiten und Verzeichnissen eine Webseite generieren kann. Der Benutzer (also die Beifahrerin) soll dabei mit möglichst wenig bis nichts technischem belästigt werden.

Ich habe eine Menge Tools ausprobiert, es gibt da ja eine Menge. Aber ich fand keins, das den Anforderungen genügte. Entweder zu kompliziert oder altmodisch oder in Ruby geschrieben. Langer Rede, kurzer Sinn: hab ich mir eben meinen eigenen geschrieben. Man hat ja sonst nichts zu tun.

Das Teil heisst Quietly Confident. Der Name ist eventuell erklärungsbedürftig. Es war so, dass mir halt nichts gescheites eingefallen ist. Und als ein Geek, der etwas auf sich hält, bin ich natürlich Science Fiction Fan. Ach was - Freak! Und als ein solcher liebe ich die Bücher der Kultur-Reihe von Ian Banks. In diesen Büchern gibt es auch Raumschiffe und diese gelten in der Kultur als vollwertige Bürger. Sie haben eine Persönlichkeit und Namen. Die Namen der Schiffe in der Kultur-Reihe sind legendär. Nun ja, eines davon ist die "Sleeper Service", ein sogenanntes "Allgemeines System Fahrzeug". Dieses Schiff mochte ich ziemlich gerne. Witziger Typ sozusagen. Das Schiff hatte jedenfalls früher mal anders geheissen und hat sich selbst umbenannt nach: Quietly Confident. Daher kommt also der Name für meinen Sitegenerator. Hat freilich rein gar nichts mit Perl, Webseiten oder git zu tun. Und? Mir doch Latte.

Quietly Confident oder abgekürzt qc versteht Markdown, Perl POD, HTML (auch von MS Word erzeugtes HTML) und Plain Text. Er wandelt alles in HTML um. Unterverzeichnisse werden zu Menüs mit einem Untermenüpunkt pro Datei dort drinnen. Sortieren kann man in dem man einem Namen eine Zahl voranstellt. Bilder tut man irgendwo rein, qc kümmert sich darum, dass die nachher alle dort landen wo sie sollen. Es gibt ein Blogfeature und das Tool unterstützt Git. Man kann es als Daemon laufen lassen. Dabei beobachtet es ein Git Repository und wenn sich da was geändert hat, aktualisiert er es und baut die Seite neu. Geht aber auch alles ohne Git. Und zum schnell mal eben Testen ist auch ein Webserver eingebaut.

Wie üblich bei meinen Perlsachen ist der primäre Download beim CPAN. Den Source verwalte ich bei Github.

Hier hab ich mal eine Beispielseite laufen, die mit Quietly Confident erzeugt wurde.

Update 2012-11-11:

Ein Demo Video gibts jetzt auch bei L.

Update 2012-11-05:

Ich habe jetzt ein Synchronisationsscript L. Das Script läuft als Windows-Service und synchronisiert das Source-Verzeichnis für QC automatisch, sofern es Änderungen gibt. Für den User - also die Beifahrerin - funktioniert das daher nun folgendermaßen: Datei erstellen/ändern, Speichern. Das wars. Übertragen und neu generiert wird automatisch.

Damit das klappt, muss man auf dem Windows-Client-Rechner L installieren. Die Pakete openssh und rsync müssen installiert sein. Man erstellt dann mit dem Cygwinuser einen SSH Public Key ohne Passphrase und installiert den dazugehörigen Public-Key auf dem Server in der dortigen .ssh/authorized_keys Datei. Das oben verlinkte Script installiert man unter Cygwin nach /usr/bin oder wo auch immer im $PATH.

Anschliessend muss man das Teil noch bearbeiten, so dass die Parameter passen wie Username, Hostname und Verzeichnisse. Und dann als Service installieren:

cygrunsrv -I websync -d "Sync Static Web Source" -p /bin/bash.exe -a /home/$USER/bin/websync-service
Und danach Starten:
cygrunsrv -S websync
Das wars auch schon. Der Service loggt nach /var/log/websync.log bzw in das rsync.log File, das im Script angegeben ist (den Pfad muss man anpassen).

Im Ergebnis ist das die maximal komfortabelste Möglichkeit, eine statische Website zu pflegen, ohne sich mit irgendwelchen Online-Editoren, CMS-Kram, manuellen Uploads und dergleichen Dingen herum zu plagen.

#source

↷ 01.11.2012