Open Source im professionellen Einsatz
Linux-Magazin Online Artikel/
(c) tiero, 123RF

(c) tiero, 123RF

Ikiwiki und Gitit: Quelltext-Repositories als Wiki

Wiki nach Entwickler-Manier

21.01.2011

Praktisch jedes Wiki verwendet Versionierung. Doch Software wie Ikiwiki und Gitit setzt auf Standardsysteme wie Subversion und Git. Das ist ganz nach dem Geschmack von technisch versierten Anwendern, und das Wiki wird sogar offline-fähig.

607

Der Debian-Entwickler Joey Hess arbeitet nicht gern in den Textfeldern von Webseiten. Als er nach Software für seine persönliche Homepage suchte, ließ er sich daher etwas Besonderes einfallen: Ein Wiki, das die HTML-Seiten aus einfachen Textdateien mit ein wenig Markup generiert, die sich per Texteditor bearbeiten lassen. Daher nennt er seine Software Ikiwiki auch einen "wiki compiler".

Subversion, Git und vieles mehr

Daneben wünschte er sich Versionsverwaltung. Das gab es damals schon in Wikis, aber nicht so recht nach seinem Geschmack. Bereits 1999 hatte er mit einem CVS-Wiki experimentiert. Für Ikiwiki, das 2006 in der ersten Version erschien, wählte er Subversion, ließ aber die Möglichkeit offen, auch andere Versionskontrollsysteme anzuschließen. Heute unterstützt Ikiwiki Git am besten, daneben noch weitere Systeme wie Darcs und Bazaar, aber in unterschiedlichem Umfang.

Nach der Installation sieht Ikiwiki recht spartanisch aus.

Der Arbeitsablauf mit Ikiwiki sieht wie folgt aus: Was der Anwender auf der Weboberfläche eingibt, speichert die Software in einem Repository als einzelne Dateien, eine pro Wikiseite. Standardmäßig kommt dabei das Markdown-Format zum Einsatz. Bilder und andere ins Wiki hochgeladenen Dateien finden ebenfalls im Repository Platz, das meist "2ikiwiki.git" heißt.

Wikidaten für unterwegs

Mit "git clone" kann der Anwender nun ein eine Kopie des Repository erstellen, entweder auf dem selben Rechner oder dank Gits Netzwerkfähigkeit irgendwo anders im Internet. So lässt sich der Inhalt eines Wiki vom Webserver beispielsweise auf den Laptop packen, um auch unterwegs und offline Notizen einzupflegen. Dabei kann der Benutzer auf seinen Lieblingseditor zurückgreifen. Markdown-Unterstützung lässt sich beispielsweise in Emacs und Vi nachrüsten. Alternativ kann man auch auf dem Laptop die Weboberfläche mittels lokalem Webserver betreiben und die Daten darüber bearbeiten.

"git add" und "git commit" machen dem Repository neue Dateien und Änderungen bekannt. Mit dem Befehl "git push" landen die lokalen Änderungen in Ikiwiki, das Kommando "git pull" holt die Änderungen vom Webserver in das lokale Verzeichnis (siehe Abbildung). Andere Versionskontrollsysteme bieten ähnliche Funktionen. Commit-Logs und Diffs sind weitere Funktionen, die die Systeme von Haus aus mitbringen. Sie kommen auch online für die Versionhistorie der Seiten zum Einsatz. Nebenbei kann das Versionierungstool einfach zum Backup aller Wikidateien dienen.

Arbeitsablauf mit Ikiwiki: Die Wikiseiten lassen sich nicht nur auf dem Server "www" über die Weboberfläche bearbeiten. Per Git gelangen Sie in das Repository "meine-kopie.git" auf dem lokalen Rechner. Dort kann sie der Anwender mit einem Editor oder in einer eigenen Ikiwiki-Instanz per Web ändern. Das Kommando "git push" schickt die Änderungen an die Version auf dem Webserver, "git pull" holt Änderungen von dort auf die lokale Maschine.

Ikiwiki setzt also im Unterschied zu Software wie Mediawiki keine Datenbank voraus, dafür aber ein Versionskontrollsystem. Das in Perl umgesetzte Ikiwiki benötigt einige Perl-Module sowie für die Weboberfläche einen CGI-fähigen Server wie Apache oder Lighttpd. Für Debian und Ubuntu existieren installationsfertige Ikiwiki-Pakete. Außerdem gibt es eine Anleitung zur Installation aus dem GPL-Quelltext. Das mitgelieferte Setup-Tool hilft beim ersten Einrichten des Wiki und fragt die benötigten Angaben interaktiv ab.

Joeys Ikiwiki lässt sich mit ein paar Handgriffen auch als Blog einsetzen, was neben dem Erfinder zahlreiche Anwender tun. Sie zeigen auch, wie eine eigene CSS-Stildatei die absichtlich nüchternen XHTML-Webseiten verschönert. Daneben existiert ein umfangreicher Fundus an Plugins. Sie ermöglichen es beispielsweise, statt Markdown andere Formate wie Wikitext, reines HTML oder Textile zu verwenden. Andere Erweiterungen dienen zum Syntax-Highlighting in Code-Listings oder erstellen eine Bildergalerie.

Etwas CSS verhilft Ikiwiki-Seiten zu einem ansprechenden Äußeren.

Auch weitere Wiki-Software, hier Olelo, verwenden eine Kombination aus Seiten-Markup und Versionskontrolle.
Kleine Haskell-Programme dienen als Plugins, die beispielsweise per Graphviz Diagramme erstellen.
Highlighting gibt es in Gitit für viele Programmier- und Auszeichnungssprachen. Die Schemata stammen übrigens von der Kate-Gemeinde.
Gitit kennt viele Exportformate, beispielsweise S5 für Präsentationen im Browser. Nach einem einzigen Klick im Wiki kann der Vortrag schon losgehen.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Ausgabe 12/2014

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.