Es ist nun schon fast eine Woche her, seit dem ich auf das Blog CMS Octopress umgestiegen bin.
Aufgrund einer Nachfrage, möchte ich nun beschreiben, wie man diesen sich auf dem Uberspace einrichtet.
Vorbereitungen
Zunächst müssen wir auf dem Uberspace einige Vorbereitungen treffen, um die später folgenden Befehle ohne Probleme nutzen zu können.
Ein
echo "gem: --user-install --no-rdoc --no-ri" > ~/.gemrc
sorgt dafür, dass wir später nicht beim Installieren der Gems Probleme mit den Schreibrechten bekommen, und diese nur für unseren Uberspace installiert werden.
Installation von Octopress
Ich nehme an, dass wir uns im Home-Ordner ~ befinden und unser Octopress in ~/octopress installieren möchten.
Es wird dann Zeit, die aktuelle Octopress von Github zu clonen:
git clone git://github.com/imathis/octopress.git octopress
Nun sollte der Ordner ~/octopress angelegt sein, und man kann nun darein wechseln:
cd octopress
Um später die Versionen der Gems besser zu verwalten nutzen, wie den Bundler, welchen wir mit den folgenden Befehlen einrichten und für den Uberspace konfigurieren:
gem install bundler
bundle install --path ~/.gem
Danach können wir das Standard-theme installieren, welches man später noch bearbeiten kann:
rake install
Konfiguration von Octopress
Theoretisch war es das jetzt schon mit der Installation, und nun muss man nur noch ein paar Konfigurationsdateien anpassen.
Zuächst wäre da die _config.yml, in der die verschiedenen Optionen zur Erzeugung des Blogs festgelegt sind.
Mit dem Editor nano können wir die Datei folgendermaßen bearbeiten:
nano _config.yml
Dort sollte man die ersten Zeilen, in denen Blog-url, -titel, -subtitle, -author, anpassen, damit der Header korrekt erstellt wird.
An den Pfaden des Jekyll und der Plugins braucht man standardmäßig nichts mehr zu verändern.
Wer die ganz unten stehenden social-Plugins nutzen möchte, sollte aus den Angaben Benutzername, True/False selbst schlau werden, und diese damit aktivieren können.
Nachdem wir die Blogeinstellungen bearbeitet haben, müssen wir uns noch um die Einstellungen des Deploying, also dem Hochladen der neu erstellten Dateien, kümmern.
Diese Einstellungen findet man in dem Rakefile.
Dort bearbeitet man ebenfalls nur die entsprechend gekennzeichneten Konfigurationszeilen.
Diese können zum Beispiel so aussehen:
ssh_user = "gehaxelt@gehaxelt.in"
ssh_port = "22"
document_root = "/var/www/virtual/gehaxelt/gehaxelt.in/"
rsync_delete = true
deploy_default = "rsync"
Wichtig ist, dass in der ersten Zeile vor dem ‘@’ der Benutzername eures Uberspaces steht, mit dem ihr euch auch auf der Shell einloggt.
Die dritte Angabe ist der Pfad, in de der Blog abgelegt werden soll.
Umzug von Wordpress
Man praktisch schon jetzt ohne Probleme Beiträge bearbeiten, aber ich möchte noch einen kurzen Einschub machen und beschreiben, wie man bestehende Beiträge von Wordpress nach Octopress umziehen kann.
Wer dies schon getan hat, oder nicht tun möchte, kann diesen Absatz einfach überspringen.
Ansonsten wechseln wir in den Home-Ordner und clonen exitwp von Github:
cd ~
git clone https://github.com/thomasf/exitwp exitwp
Dann muss man wieder ein paar Vorbereitungen Seits Uberspace treffen:
- Python2.7 einrichten
1
|
|
- PyYAML installieren
1
|
|
- html2text installieren
1
|
|
- Beatuful soup installieren
1
|
|
Danach müssen wir nur noch unseren Wordpressinhalt als XML Datei exportieren, dann klappt im Wordpress-Dashbaord über Werkzeuge->Exportieren.
Diese Datei müssen wir dann wieder per FTP in das Verzeichnis ~/exitwp~/wordpress-xml/ hochladen.
Nach einem Wechsel in das Verzeich kann man folgenden Befehl ausführen und einem werden die mardown-Dateien erstellt, welche man für Octopress benötigt:
cd ~/exitwp
python2.7 exitwp.py
Nun sollten wir unseren Wordpressblog ins Octopressformat gebracht haben, und die Dateien liegen im Ordner ~/exitwp/build/jekyll/DEINEBLOGURL .
Diese müssen wir nur noch in unsere Octopressinstallation kopieren:
cd -r ~/exitwp/build/jekyll/DEINEBLOGURL/* ~/octopress/soure/
Nun ist der Umzug zu theoretisch fertig, in der Praxis aber erst zu 15%, denn man muss jetzt alle Beiträge einzeln durchgehen, und die Anzeige/Export-Unschönheiten beheben, z.B. nicht ganz zitierte Zitate, Überschriften,..
Das hat bei meinen ~100 Beiträgen fast 4 Stunden gedauert, dort überall drüberzuschauen und die kleinen Fehler zu beheben.
Beiträge schreiben
Möchte man nun einen Beitrag verfassen, dann geht das am Einfachsten über den Befehl
rake new_post["Mein neuer Beitragstitel"]
Wenn euch dann eine Fehlermeldung ausgegeben wird, welche ungefähr so ähnlich lautet:
rake aborted!
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Using bundle exec may solve this.
(See full trace by running task with --trace)
Dann müsst ihr, wie vorgeschlagen ein bundle exec vor die rake-Befehle setzen:
bundle exec rake new_post["Mein neuer Beitragstitel"]
Dann wird eine neue Datei im source/_posts-Ordner angelegt, und euch der Dateiname ausgegeben.
Nun könnt ihr diese Datei mit einem Editor, wie dem nano öffnen, und nachdem ihr die Kategorie bzw. die Tags im Headerbereich gesetzt habt, euren Inhalt verfassen.
Der Header kann dabei so aussehen:
--
layout: post
title: "Octopress auf dem Uberspace"
date: 2012-05-04 19:25
comments: true
categories:
- Texttutorials
tags:
- Octopress
- Uberspace
- HowTo
---
Wie, ihr beim Verfassen, die Markdownsprache korrekt verwendet, findet ihr auf der Seite des Erfinders gut beschrieben.
Seiten erstellen
Für das Erstellen von Seiten ist es ganz ähnlich, dort verwendet man dann nur new_page:
(bundle exec) rake new_page["Neue Seite"]
Das bundle exec ist in Klammern, je nach dem ob ihr es braucht, oder eben nicht.
Diese Seiten möchte man dann bestimmt auch noch verlinken, sodass diese später in der Navigation auftauchen.
Dazu müssen wir die Navigationsdatei bearbeiten
nano ~/octopress/source/_includes/custom/navigation.html
und dort für jeden Tab jeweils ein li-Element mit dem Link zur Seite angeben, dabei kann man das Schema der vorhanden Einträge beibehalten.
Seite(n) hochladen
Hat man nun einige Beiträge oder Seiten verfasst, möchte man seinen Blog auf den neusten Stand bringen.
Dazu muss man den Blog erstmal erstellen, also die mardown-Dateien müssen in eine HTML-Datei umgesetzt werden.
(bundle exec) rake generate
Mit diesem Befehl wird der Blog komplett neu generiert, und im Ordner ~/octopress/public abgelegt.
Jetzt müssen diese Seiten noch hochgeladen werden, und dies erfolgt mit einem Deploy:
(bundle exec) rake deploy
Ihr werdet aufgefordert ein Passwort einzugeben, was genau dem Loginpassord zur Shell entspricht.
Plugins
Man kann Octopress mit verschiedenen, in ruby geschriebenen, Plugins erweitern.
Octopress bringt von Haus aus, einige nützliche Plugins mit, welche man gleich nutzen kann.
Eine Liste führt der Octopress Blog.
Ich habe es nicht geschafft, das Codeblock-Plugin mit Pygments zum Laufen zu kriegen. Sollte es jemand hinbekommen, würde ich mich über eine Nachricht freuen.
Viel Spaß beim Bloggen
Ich denke, ich habe hier genug zu den ersten Schritten geschrieben, und ihr könnt jetzt eure Wordpressinstallation nun umziehen und das superschnelle Octopress nutzen.
Man kann bei Octopress alles eigentlich selbst einstellen, bzw. nachbearbeiten, was die Plugins oder das Design angeht.
Wenn ihr einen Octopress-Blog aufmacht, dann hinterlasst ein Kommentar, und lese mal drüber, oder wir werden Partner.
Gruß
gehaxelt