Ein regnerisches Wochenende, etwas Neugierde und schon habe ich das ganze hier auf einen Static Site Generator umgestellt.
Einen Überblick darüber wieviel Möglichkeiten es da gibt findet man unter https://www.staticgen.com/. Da ich eine Lösung haben wollte, die auf nodejs basiert, habe ich mich entschlossen hexo zu testen.

Die Installation war schnell per npm gemacht:

1
$ npm install hexo-cli -g

Ähnlich wie bei cordova wird danach ein neues Projekt mit folgendem Kommando erstellt:

1
2
3
$ hexo init <folder>
$ cd <folder>
$ npm install

Danach kam der einzig schwierige Teil. Ein geeignetes Theme finden. In meinem Fall war das Tranquilpeak. Ebenso wie hexo ist das Theme gut dokumentiert und bot einen guten Anfang. Die Möglichkeiten zur Konfiguration sind hier schon sehr vielfältig, und wenn einem das nicht reicht gibt es ja zum Glück noch die Möglichkeit das ganze im Quellcode an seine eigenen Bedürfnisse anzupassen.

Durch den Befehl:

1
$ hexo server

wird ein lokaler Webserver gestartet dank dem man sehr einfach schauen kann ob die Änderung an der Konfiguration, oder an neuen Posts, zu dem gewünschen Ergebnis führen.
Um zu sehen wie gut das Ergebnis ist habe ich dann noch die alten Einträge von dieser Seite migriert. In meinem Fall reichte hier der rss-migrator der von hexo zur Verfügung gestellt wird.

1
2
$ npm install hexo-migrator-rss --save
$ hexo migrate rss <source>

Als Source den link zum rss feed der alten Seite angegeben und schon waren die Artikel hier als markdown File mit den ursprünglichen Tags angelegt. Bei größeren Migrationen gibt es aber auch Tools direkt für Joomla, oder Wordpress Installationen.

Somit war dann auch schon der Moment gekommen an dem man die Seite mal live testen konnte. Ebenso wie für die Migration gibt es für das Deployment verschiedene Plugins. Neben ftp, git, rsync gibt es auch Deployment-Tools für heroku und openshift. Für mich reichte dann doch das ftp Plugin.

1
$ npm install hexo-deployer-ftpsync --save

Danach noch in der globalen _config.yml die benötigen Settings eintragen, und schon kann die Seite erstellt werden.

1
2
3
4
5
6
7
8
9
10
deploy:
type: ftpsync
host: <host>
user: <user>
pass: <password>
remote: [remote]
port: [port]
ignore: [ignore]
connections: [connections]
verbose: [true|false]

Über die Einstellung remote wird der Pfad auf dem Zielsystem angegeben, falls die Daten nicht direkt in das Root Verzeichnis des ftp-Users abgelegt werden sollen.
Um die beiden Aktionen generate und deploy zusammenzufassen können beide Befehle mit der entsprechenden Option erweitert werden. Beide Befehle erstellen die neuen Seiten und deployen sie direkt danach.

$ hexo generate --deploy
$ hexo deploy --generate

Fazit
Aus meiner Sicht war es sehr einfach eine Seite mit hexo lauffähig zu bekommen. Auch wenn hier ein paar Dinge noch nicht ganz rund sind, bin ich zuversichtlich das in den Griff zu bekommen. Im Großen und Ganzen war die Installatotion und Konfiguration auch nicht komplizierter als eine wordpress Installation.
Sicherlich ist es ein gewisser Nachteil das man für Kommentare auf externe Dienste wie disqus zurückgreifen muss, aber dafür muss man sich auch keine Gedanken über Sicherheitslücken machen. Ich kenne ein paar Joomla / Wordpress Installationen die nicht gewartet oder aktualisert werden und somit auch ein geeignerter Anwendungsfall für ein Tool wie hexo wären.
Wenn man aber keine Angst vor der Konsole hat und nicht unbedingt nervös wird wenn man zum erstellen von Texten keinen Rich-Text Editor hat sind Static Site Generators sicher eine interessante Alternative.
Für etwas mehr Komfort gibt es übrigens auch ein hexo Admin-Plugin um Inhalte direkt über den Browser zu editiern https://github.com/jaredly/hexo-admin.
Oder man macht es so wie ich gerade per ssh und vi. =)