Blog zu eine statischen Site-Generator umgezogen
Ich bin mit meinem Blog endlich zu einem statischen Site-Generator umgezogen. Die Auswahlkriterien waren:
Unterstützung von ReStructuredText als Markup-Sprache
Ein "responsive design"
Weil ich vorher Wordpress (WP) hatte war einer der Vorteile des statischen Website-Generators Nikola, den ich jetzt verwende, dass Nikola WP aus dem WP XML-Backup Format (aktuelle Version 1.2) importieren kann.
Der WP-Importer kann nach HTML oder MD (Markdown) konvertieren. Die
Konversion nach MD hat bei mir zu viele Artefakte erzeugt, so dass ich
das HTML-Format verwende. Im konvertierten HTML musste ich ein Bild in
der Größe beschränken und Bildunterschriften von WP an einigen Stellen
ausbessern (scheint so dass der Konverter die Bildunterschriften WP:
caption
nicht unterstützt). Sonst war die Konvertierung in Ordnung.
Die Konvertierung der Kommentare war allerdings mehr Aufwand: Der
Konverter produziert .wpcomment
Dateien, eine für jeden Kommentar.
Diese brauchen das static_comments
Plugin für Nikola.
Die generierten Dateien brauchen eine Spezifikation des Compilers (der aus dem Text in der Datei HTML erzeugt) innerhalb jeder Kommentar-Datei. Ich habe als Compiler ReStructuredText verwendet, die Direktive dafür ist:
.. compiler: rest
Wenn man ReStructuredText verwendet, muss man natürlich HTML Entities die im Kommentar-Text verwendet werden, editieren.
Zusätzlich braucht das static_comments
Plugin ein Setup von
Lokalisierungs-Strings die im zugehörigen Template verwendet werden. Es
wird in der Dokumentation zwar erwähnt, dass man diese erzeugen muss,
allerdings wird nicht erwähnt wie und wo das zu geschehen hat. Ich habe
dazu ein Github Issue eröffnet.
In meinem alten WP Blog markiert WP Links in Blog Kommentaren, sowohl in
der URL des Kommentar-Autors als auch Links innerhalb des
Kommentar-Textes mit rel=external nofollow
. Dieses Verhalten wollte
ich beibehalten und habe daher das Jinja-Template, das mit
static_comments
mitkommt, geändert und in einem
weiteren Github Issue dokumentiert. Das funktioniert wenn der
Kommentar-Autor eine Autoren-URL angegeben hat. Bis jetzt habe ich
keinen Weg gefunden, ein rel=nofollow
auch in Links innerhalb des
Kommentar-Textes, wie sie von ReStructuredText erzeugt werden, zu
generieren. Daher werden alle Links innerhalb von Kommentaren derzeit
von Suchmaschinen ausgewertet (Ich habe verifiziert dass das keine bösen
Dinge tut in diesem Fall). Für Menschen die von WP konvertieren und mehr
Kommentare haben als ich in meinem Blog kann potentiell großer Aufwand
entstehen.
Ich hoffe dass in in nächster Zeit wieder mehr zum bloggen komme, jetzt wo die grausliche WP-Markupsprache keine Entschuldigung mehr ist :-)