+++
title = "Technik hinter dem neuen Blog"
date = "2011-05-18T12:25:00+00:00"
author = "Gibheer"
draft = false
+++

Whaerend der alte Blog noch auf eine Datenbank zurueck gegriffen hat,
ist der neue Blog komplett statisch. Alle Blogeintraege werden in Form
von Textdateien geschrieben und anschliessend zu html konvertiert.

Als Generator benutzen wir [jekyll](https://github.com/mojombo/jekyll),
was auch bei [github](http://github.com) zum Einsatz kommt. Es laesst
sich einfach erweitern und mit verschiedenen Markupsprachen kombinieren.
Die einzelnen Eintraege bekommen einen Markupunabhaengigen Header
verpasst in dem Daten gespeichert werden, wie zum Beispiel Keywords, das
Erscheinungsdatum, der Autor und was man noch so moechte.

Da mir html schreiben auf dauer zu nervig war, habe ich mich umgeschaut,
welche anderen Sorten von Markup es denn gibt und bin auf
[Textile](http://redcloth.org/textile),
[Markdown](http://daringfireball.net/projects/markdown/syntax),
[Haml](http://haml-lang.com/) und noch ein paar andere gestossen. Da ich
Textile schon durch [redmine](http://redmine.org) kannte und die syntax
mir einfacher als die von Markdown vorkam, habe ich mich fuer Textile
entschieden. Haml wollte ich fuer die Layouts benutzen, allerdings waere
es einiges an Aufwand gewesen Jekyll dies beizubringen. Also sind
zumindest die Layouts in einfachem HTML geschrieben.

Da ich ab und zu auch mal Syntax-Highlighting benoetige, stand
natuerlich noch die Frage im Raum, mit welcher Engine sich dieses
Problem loesen laesst. Jekyll hat dafuer bereits eine Schnittstelle
eingebaut, welches auf die Pythonlib Pygments zugreift. Es erschien mir
allerdings etwas abwegig beim kompillieren zwei verschiedene
Scriptsprachen laufen zu lassen. Da die einzig andere Loesung unter Ruby
[coderay](https://github.com/rubychan/coderay) heisst, habe ich dieses
eingebaut und mit Textile verkuppelt.

Da wir das Design ein bischen aufpeppen wollten und damit auch etwas
CSS3 einzustreuen, stand natuerlich die Frage im Raum: “Wollen wir die
ganzen besonderheiten selber bauen?” Natuerlich nicht! Deswegen habe ich
zuerst [Sass](http://sass-lang.com/) und spaeter noch
[Compass](http://compass-style.org/) hinzugenommen.

Sass ist eine Sprache, mit der sich leicht CSS schreiben laesst. Es
bietet Unterstuetzung fuer Variablen, Funktionen und
[Mixins](http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixins).
Mit letzterem lassen sich Attributsbloecke bilden und dann mit einer
Zeile an der jeweiligen Stelle importieren.

Compass bietet dazu weitere Funktionen, um zum Beispiel Farben zu
bearbeiten, Farbverlaeufe zu erstellen oder das komplette Layout zurueck
zusetzen.

Wenn man sein Design dann fertig hat, kann man Sass dann anweisen die
CSS-Datei\
so zu formatieren, dass einiges an Speicher gespart werden kann.

Da der Blog nun allerdings komplett statisch ist, haben wir ein
Javascript von Disqus mit eingebaut, welches eine Diskusionsplatform
bereitstellt. Ob sich das allerdings lohnt, muss sich erst noch zeigen.

Den Blog insgesamt werde ich vielleicht bald auf
[github](http://github.com) hochladen, aber mal schauen. Auf jeden Fall
werde ich noch ein paar weitere Eintraege machen, in denen ich weitere
Teile vorstellen werde.

viel Spass
