Mein Weg zu Octopress

by: Dirk Siemers | posted: November 18th, 2010

Nachdem ich meinen Blog eine lange Zeit vernachlässigt habe, wollte ich nun wieder anfangen zu bloggen. Doch sollte ich wieder ein Wordpress aufsetzen und mich dann wieder auf die Suche nach vernünftigen Templates machen? Außerdem möchte ich das System von Grund auf anpassen und ändern können. Wieder mit PHP anfangen, wenn man Ruby kennengelernt hat? No way! Okay, aber ich will jetzt auch keine kompletten Rails-Stack aufsetzen, nur weil ich mal kleinere Beiträge der Allgemeinheit zukommen lassen möchte. Brauche ich dafür eine Datenbank? Ich denke nicht!

Mein Weg beginnt mit dem Railscamp Hamburg #rchh auf dem ich viele hilfreiche Informationen mitnehmen konnte. Zum einen wäre da die Ruby Toolbox von Christoph Olszowka (@TheDeadSerious). Die Toolbox bietet für alle Lebenslagen eines Ruby Entwicklers die entsprechenden Gems. So auch für Static Website Generation, die aktuellen Top 3 sind Jekyll, toto und staticmatic.

Jekyll ist das System hinter den GitHub Pages. Mit aktuell über 2067 Watchers und fast 400 Forks schon mal eine interessante Möglichkeit seine static pages zu generieren. Leider lässt sich mit Jekyll von haus aus nicht mit meinen lieb gewonnenen Haml und Sass nutzen. An diesem Punkt musste ich an Nico Hagenburger (@hagenburger) Talks über Haml und Sass zusammen mit staticmatic auf dem #rchh denken.

Interview mit Nico Hagenburger (@hagenburger) und Dennis Blöte (@dbloete) auf In Code We Trust

staticmatic nutzt haml mit compass, also genau was ich gesucht habe, allerdings fängt man wirklich bei Null an und muss seine Seiten und Blogeinträge verlinken, feeds erstellen, designen usw. Leider zu viel Zeitaufwand für mich.

Also hab ich nach einer Möglichkeit gesucht Jekyll mit meinen Vorstellungen anzupassen. Nach längeren googlen mit jekyll, haml, sass, compass habe ich letztendlich octopress von Brandon Mathis, der auch für die Fancy Buttons verantwortlich ist, gefunden.

Was ist octopress ?

Es nutzt alle Vorteile von Jekyll:

  • keine DB
  • Speicherung der Artikel mit git
  • semantisches Markup

Und erweitert diese um:

  • Einbindung von Twitter, Delicious, Google Suche, Analytics und Disqus
  • HAML und Compass als SASS Framework
  • Live Vorschau mit FSSM und Serve
  • Einfaches Deployment über Rsync
  • Fertiges Layout

Alle weiteren Infos auf der Projektseite.

Wie richte ich mir octopress ein?

Leider habe ich kleinere Probleme bei der Einrichtung gehabt. Damit Andere diese Probleme nicht haben, hier eine kleine Anleitung zur Einrichtung.

  1. Zunächst Octopress herunterladen.
  2. Mit RVM Ruby 1.8.7 wählen (1.9.2 lief bei mir nicht) und gleich ein Gemset über die .rvmrc erstellen (ich habe mir angewöhnt für jedes Projekt ein eigenes Gemset zu nutzen).
  3. Über Bundler die notwendigen Gems einrichten.
  4. Damit das Syntax Highlighting unter OSX funktioniert muss Pygments (Python syntax highlighter) installiert sein. (easy_install kann ab OS X Leopard genutzt werden)
  5. Die Preview starten.
octopress unter OSX einrichten
git clone git://github.com/imathis/octopress.git
echo "rvm ruby-1.8.7-p302@octopress --create" > octopress/.rvmrc
bundle install
sudo easy_install Pygments
rake preview

Mein Dank geht an Brandon Mathis und den Rest der Entwickler die mit octopress genau das geschaffen haben, was ich gesucht habe :D

Fork me on GitHub