instant-thinking.de

just enough to get you started and leave you confused

Switching to Octopress

| Kommentare

Dieses kleine Blog läuft nun schon seit dem 18. August 2007 mit Wordpress.

Damals switchte ich von Typo, zu dem ich vorher von SnipSnap aus switchte.

Nun bin ich tatsächlich schon seit meinem zarten Hinweis vom 6. Juni 2011 dabei, das diese Seite antreibende Blogsystem auf Jekyll umzustellen. Um genau zu sein auf Octopress aber dazu gleich mehr…

Fakt ist, dass dieses Wordpress so langsam aber sicher unzeitgemäß erscheint. Das liegt auf Frontendseite natürlich zu einem großen Teil am verwendeten Theme, welches sich natürlich ändern ließe. Aber auch auf der Backendseite erscheint mir Wordpress nach all den Jahren immer altbackener. Nicht, das es sich nicht weiterentwickelt hätte, ganz im Gegenteil. Das Admin-Panel ist sogar durchgängig besser und schicker geworden finde ich. Aber ich bin seiner sozusagen überdrüssig und der inner Geek sehnte sich auch schon seit einiger Zeit nach einem neuen Blogtriebwerk.

Und auf der Triebwerksseite gibt es einiges an positiven Änderungen durch den Einsatz des neuen Systems. Jekyll ist in dem Sinne keine Blogsoftware, sondern eine Parsing Engine. Man wirft ihr eine Verzeichnisstruktur gefüllt mit Dateien vor und Jekyll baut daraus eine fertige Website1. Dieser Vorgang wird im Allgemeinen als Backen einer Website bezeichnet. Auf diese Art und Weise treibt Jekyll nicht nur zahlreiche Websites im Netz, sondern etwa auch sämtliche GitHub Pages an.

Dieses Backen hat zur Folge, dass nur noch statische Seiten ausgeliefert werden, die mit buchstäblich jedem Webserver ohne jede weitere Abhängigkeiten ausgeliefert werden können. Daraus ergeben sich die folgenden Vorteile:

  • Keine Datenbank mehr nötig, die die Informationen vorhalten müsste
  • Keine Scriptsprache mehr nötig, mit der die Informationen aus der Datenbank geholt werden
  • Ideale Performance, da nichts on the fly zusammengebaut wird
  • Keine Userverwaltung
  • Keine Adminbackend
  • Keine Updates auf dem Server einspielen
  • Kein Einfallstor für Schadcode2
  • Bloggen mit Vim und Markdown
  • Versionskontrolle und Backup sind sehr einfach zu implementieren

Der eine große Nachteil ist, dass das Backen der Website mit allen Verlinkungen und Layouts und Posts und allem, eben eine gewisse Zeit dauert. Auf dem Mac mini benötigt die Erstellung von instant-thinking.de aktuell eine knappe Viertelstunde. Das MacBook Pro erledigt die Aufgabe in acht Minuten, aber auch das ist noch relativ lang.

Ein weiteres, aber deutlich kleineres Problem, ist die Einbindung von dynamischen Inhalten wie etwa Kommentaren. Das wird auf dieser kleinen Seite3 aber schon seit geraumer Zeit von Disqus erledigt. Die Widgets von last.fm, Twitter und flickr in der Seitenleiste funktionieren genau so weiter, wie sie bisher auch arbeiteten. Also alles gar nicht so wild.

Ausserdem kommt hinzu, dass Jekyll so gut wie nichts mitbringt. Man ist also gezwungen, sich alles was man so haben möchte selbst zu bauen. Dieser Umstand hat wesentlich dazu beigetragen, dass die ganze Geschichte so lange gedauert hat. Ich war eigentlich, vor allem dank dem Blueprint CSS Framework, auch schon recht weit und die Seite sah schon ganz gut aus.

Aber dann stiess ich auf Octopress.

Hierbei handelt es sich um ein Jekyll-Framework. Man muss nun also nicht mehr bei Null anfangen4, sondern kann auf einer ausgesprochen soliden Basis aufbauen. Dazu gehören ein responsives Theme, gelöste Standardaufgaben per Rakefile und die einfache Installation per git, rvm und bundler. Das gesamte Framework kann durch custom-Verzeichnisse und -Dateien an den eigenen Geschmack angepasst werden.

Das alles macht den Einstieg in die statische Blog-Erstellung deutlich einfacher und die schnellen Erfolgserlebnisse tragen nicht wenig zum sprichwörtlichen Spaß am Gerät bei. Das Ergebnis schaut aktuell auch schon ziemlich fertig aus.

Ausserdem bin ich einfach famos schlecht darin, einer so großartigen Tagline wie der von Octopress zu wiederstehen:

Octopress - A blogging framework for hackers

Der langen Rede kurzer Sinn, hier die Dinge die ich bereits erledigt habe:

  • Export der Posts aus Wordpress in Text-Dateien
  • Anpassungen von Umlauten und anderen Sonderzeichen in Tags und Überschriften
  • Konvertierung der Fußnoten-Syntax von wp-footnotes in Multimarkdown
  • Konvertierung der verschiedenen, über die Jahre eingesetzen Code-Highlighting-Blöcke
  • Auslagerung des Kommentar-Systems zu Disqus
  • Anpassung des Themes in Anlehnung an das unter Wordpress eingesetzte Copyblogger-Theme

Und hier die Dinge die noch anstehen, bis der Switch tatsächlich stattfinden kann:

  • Einige eingebette Videos funktionieren nicht mehr. Es wird nur der Embed-Code ausgegeben
  • Implementierung von Lightbox-Funktionalität
  • Anpassung der .htaccess um alte Inhalte auf die neuen Adressen umzuleiten. Cool URIs don’t change.
  • Erstellung eines Workflows5 für das automatische und zeitversetze Publishing
  • Ein Script um die QuickLinks weiterhin automatisiert aus Pinboard heraus zu bloggen
  • Ein New Blog Post Tweet-Script

Also noch einiges zu tun.

Aber es macht wirklich einen Heidenspaß, die bevorzugten Werkzeuge einzusetzen, wenn es um das Schreiben von Posts und das Verwalten des Blogs geht. Einfache Textdateien, eine einfache Auszeichnungssprache, ein guter Editor und ein modernes Versionierungssystem sind schlicht großartige Werkzeuge deren Benutzung mir viel mehr Freude bereitet, als ein überkandideltes Web-Backend mit einem Dutzend Plugins.

Und, hey, vielleicht gibt es dann sogar mal wieder was öfter neue Einträge wenn das mal alles durch ist…

Stay tuned…

  1. Und der Begriff Website hat bei Jekyll eigentlich immer die Bedeutung Blog…

  2. Abgesehen von dem Webserver selbst natürlich…

  3. In Vorbereitung auf den großen Switch weg von Wordpress…

  4. Oder sich eine der zahlreichen Jekyll-Sites klonen und anpassen…

  5. Mir schwebt da eine Kombination aus Dropbox, FolderActions und git-hooks vor…

Comments