Seit ein paar Tagen hab ich jetzt meine Homepage neu gestartet. Vielleicht kann ich bei dieser Gelegenheit auch kurz eine Zusammenfassung des Werdegangs meiner Homepage zusammenschreiben.

2004 stellte ich meine erste eigene Homepage ins Netz. Damals noch mit der Smarty Template Engine. Das war damals die Version 0.8. Mittlerweile ist Smarty bei den 3er Versionen angekommen und ist sicherlich tausendmal besser geworden.
Das dahinterliegende Content Management hab ich komplett selbst in PHP geschrieben.

2008 hab ich dann beschlossen, auf Wordpress umzusteigen. Der Grund ist eigentlich auch schnell gesagt. Mein Content Management war nicht nur eine Eigenentwicklung, sondern auch sehr eigenwillig. So hatte ich ständig irgendwas zu verbessern, musste immer wieder für einzelne Posts was neues erst entwickeln und hatte auch immer wieder diverse Sicherheitsprobleme. Bei Wordpress konnte ich mich rein auf das Schreiben der Artikel konzentrieren und das war auch notwendig. Ich schreibe ohnehin nicht viele Artikel, aber wenn ich was kundtun will, dann will ich nicht erst lange erste wieder was programmieren müssen.
Mit Wordpress hatte ich dann nur ein paar Anpassungen am Template zu machen und das war’s dann im Großen und Ganzen.

Leider war es aber jetzt auch so, dass mein Wordpress mehrfach gehackt wurde und mein Server für Spam-Mails missbraucht wurde. Daher hab ich die Seite dann erst einmal komplett vom Netz genommen und nach einer Lösung gesucht.
Die Lösung war dann schließlich Jekyll. Dabei handelt es sich um einen Site Generator. Das heißt, ich habe auf meinem Rechner eine Jekyll Installation und schreibe hier meine Posts. Dann schmeiß ich den Generator an und der gibt mir alle statischen Dateien dieser Site aus, die ich dann nur noch auf den Server kopieren muss. Also kein PHP oder irgendwas anderes auf dem Server sondern eine reine statische Seite.

Jekyll selbst ist in Ruby geschrieben. Von daher für mich ein bisschen gewöhnungsbedürftig, wenn ich da was anpassen muss, aber bis jetzt musste ich da auch nicht viel machen.
Gebastelt hab ich eigentlich nur dahingehend, dass ich das Layout selbst erstellt habe. Ich hab zwar einige Templates gefunden, aber ich wollte das System verstehen und daher hab ich beschlossen, selbst ein für mich passendes Template zu erstellen. Dabei hab ich dann auch gleich auf die modernen Anforderungen geachtet, damit man auch sieht, dass ich mit der Zeit gehe.
Das Template ist mit Boostrap und jquery aufgebaut. Eigentlich nichts tragisches, aber für mich war es bis dato ziemliches Neuland. Aber man will sich ja schließlich weiterbilden.

So. Nun zu Jekyll selbst, damit auch noch ein bisschen Praxis in diesem Post unterkommt.

Ich habe meine Jekyll Installation unter Linux durchgeführt und würde das auch im Allgemeinen empfehlen. Unter Windows ist es meiner Meinung nach ein ziemlicher Aufwand eine funktionierende Ruby-Installation hinzubekommen und unter Linux hat man das alles schon quasi out-of-the-box.
Zuerst sollte man gleich erwähnen, dass man die Development-Sourcen von Ruby auch benötigt. Daher beginnt man mit deren installation:

sudo apt-get install ruby-dev

Anschließend kann man dann auch schon das “Gem” (Package) für Jekyll installieren. ich gehe dabei davon aus, dass man bereits eine Ruby-installation auf seinem Rechner hat. Ansonsten müsste man Ruby auch noch installieren (sudo apt-get install ruby)

sudo gem install jekyll

Dann kann man auch schon loslegen.
Man öffnet die Kommandozeile und gibt folgenden Befehl ein:

jekyll new sitename

Damit wird ein neues Verzeichnis mit dem Namen “sitename” angelegt mit allen für Jekyll benötigten Unterverzeichnissen. Im Grund hat man damit schon einen fertigen Blog erstellt. Damit man das Ganze verwenden kann, muss man allerdings noch ein bisschen was konfigurieren. Dazu öffnet man die Datei _config.yml und passt folgende beiden Einträge an:

url: "file://"
baseurl: "/home/user/jekyll/sitename/_site"

Die Baseurl muss als auf das Unterverzeichnis _site im Verzeichnis der Webseite zeigen. Wer jetzt nach _site sucht, wird enttäuscht sein. Dieses Verzeichnis gibt es aktuell noch nicht. Aber das erstellen wir jetzt:

jekyll build

Damit wird jetzt die Webseite kompiliert und im Unterverzeichnis “_site” abgelegt. Und das war’s dann auch schon. Diesen Ordner “_site” braucht man dann auch nur auf den Webserver kopieren, damit die Seite online ist.

Mehr will ich dazu jetzt auch gar nicht beschreiben. Vieles kann man leicht selber rausfinden. Am Besten ist es, wenn man sich mal die vorhandenen Dateien ansieht. Die Struktur findet man recht schnell raus. In den Dateien kann man auch einiges an Logik einbauen (for, if usw.), aber das kann man alles sehr gut aus der Doku rauslesen.
Vielleicht werde ich zu einem späteren Zeitpunkt dazu auch noch ein paar Zeilen schreiben, aber aktuell bin ich erst einmal froh, dass man Seite so weit läuft. Und ich muss ja auch sagen, dass die Seite noch nicht fertig ist. Da gibt es noch einige Baustellen, die ich gerne noch in der nächsten Zeit beheben möchte. Vielleicht schreibe ich in diesem Zuge nochmal ein bisschen was zu Jekyll.