In diesem Artikel möchte ich auf das Installieren von Octopress eingehen und wie einfach es ist, es zu nutzen.
Was ist Octopress?
Octopress ist ein Framework, das auf Jekyll aufsetzt, sodass keine HTML-Templates, CSS-Styles Javascript und eigene Konfigurationen gemacht werden müssen. Einfach Octopress clonen oder forken und benutzen. Octopress nutzt die moderne Skriptsprache "Ruby".
Installation
Clonen des Repositorys
Zum Clonen muss git
installiert sein. Anschließend kann das Projekt mit folgender Zeile geclonet werden:
git clone https://github.com/imathis/octopress.git
Dabei wird ein Ordner octopress
erstellt und alle Daten, die sich in dem Repository auf GitHub befanden, sind nun
lokal kopiert worden.
Nun sind nur noch ein paar Zeilen notwendig, um die Abhängigkeiten zu installieren.
RVM
Ich würde noch empfehlen rvm
(Ruby Version Manager) zu installieren. Dies ist ein Versionsmanager für "Ruby", der
sich sehr einfach installieren lässt.
Der Vorteil dieses Managers ist es, dass er alle Daten für Ruby im Ordner .rvm
im Home-Verzeichnis des Benutzers
installiert. Das heißt, dass man dies auch installieren kann, wenn man nicht die nötigen root
-Rechte hat.
Desweiteren können unterschiedliche Versionen von Ruby in unterschiedlichen Ruby-Projekte genutzt werden. Für Octopress
zum Beispiel wird im Moment Ruby in der Version 1.9.2
empfohlen. Es ist aber schon die Version 1.9.3
verfügbar.
Mit dem Manager ist das kein Problem.
Installation RVM
Da ich die zsh
nutze, sieht der folgende Code so aus:
``` sh Installation von rvm http://euer.krebsco.de/blog/2012/02/01/make-this-blog-post-happen/ Quell-Artikel
!/bin/bash
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) echo '[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm' >> ~/.zshrc source ~/.zshrc rvm requirements ```
Wird eine andere Shell genutzt, dann müssen die Zeilen noch angepasst werden. Zum Beispiel für die bash
müssen alle ~/.zshrc
in ~/.bashrc
geändert werden.
Mit dem letzten Befehl werden Informationen zu den Abhängigkeiten angezeigt, die natürlich installiert werden sollten.
Weitere Informationen zu der Installation von rvm
sind auf der Homepage veröffentlicht.
Installation Ruby
Da wir für Octopress Ruby in der Version 1.9.2
benötigen, wird dies durch die folgende Zeile installiert:
sh
rvm install 1.9.2 && rvm use 1.9.2
Installation Octopress
Nun sind wird bereit, um Octopress zu installieren. Zuvor muss man sich aber noch im "richtigen" Verzeichnis befinden, wo Octopress installiert werden soll. Ein gleichnamiger Ordner wird erstellt (Zeile 2).
sh
gem install bundler
git clone git://github.com/imathis/octopress.git octopress
cd octopress
bundle install
rake install
Erstellen des ersten Posts
Jetzt ist alles für den ersten Blogpost vorbereitet:
sh
rake new_post\["Erster Post"\]
vim source/_posts/2012-02-21-erster-post.markdown
rake generate
Das Ergebnis kann mittels rake preview
und dem Aufruf von http://localhost:4000
angesehen werden.
Deploying
Nach dem Generierungs-Befehl wurden alle statischen Dokumente in dem Ordner public
erstellt. Nun reicht es, wenn
der Inhalt auf einem Webspace hochgeladen wird, um die Webseite zu veröffentlichen.
Dafür bietet sich zum Beispiel der Dienst GitHub Pages an. Man legt ein eigenes Repository mit dem Namen <benutzername>.github.com
an und lädt dort die statischen Dokumente hoch. Dies ist mit der Konfiguration von _config.yml
und dem Ausführen von rake setup_github_pages
getan.
Statt den Dienst zu Nutzen, kann auch der eigene Webspace herangezogen werden. Zu diesem sollte aber der Zugriff mittels SSH vorhanden sein. Denn dann werden die Seiten mittels rsync
hochgeladen, nachdem der Befehl rake rsync
ausgeführt wurde.
Ist das nicht komfortabel?
Fazit
Es macht auf jeden Fall mehr Spaß dieses Framework zu installieren, als ich es früher mit Wordpress getan habe. Mit den
beschrieben Schritten ist es auch einfacher und man lernt dabei ein bisschen Ruby kennen.
Schaut euch doch mal den einen oder anderen Code an. Zum Beispiel das Rakefile
. Ich finde, dass man es recht gut lesen
kann -- auf jeden Fall besser als Brainfuck! ;-)