Mediawiki/Erweiterung/Syntaxhighlight GESHI
Die Mediawiki-Erweiterung Syntaxhighlight GESHI dient der Syntaxhervorhebung von Programmcode. Wie die Tags "<pre>" und "<poem>" werden Leerzeichen dabei geschützt - der Code erscheint also genau, wie er eingegeben wurde. Zusätzlich kann auch eine Zeilennummerierung eingefügt werden.
Das Beispiel zeigt, wie HTML-Code eingefärbt werden kann.
<source lang="html4strict" line start=1> HTML module goes here... </source>
Optionen
Es werden über 100 Sprachen unterstützt, darunter die folgenden.
Option | Programmiersprache |
---|---|
apache | Apache Log |
bash | Bash |
c | C |
cpp | C++ |
css | Cascading Stylesheets / CSS |
diff | diff |
html4strict | HTML |
java | Java |
java5 | Java(TM) 2 Platform Standard Edition 5.0 |
javascript | JavaScript |
mysql | MySQL |
perl | Perl |
php | PHP |
python | Python |
ruby | Ruby |
sql | SQL |
xml | XML |
Installation
1. Herunterladen der vier Erweiterungsdateien aus dem Subversion-Repository ins Verzeichnis "extensions/SyntaxHighlight_GeSHi" des Wikis.
$ cd /var/www/mikiwiki/extensions $ svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi
2. Herunterladen des 1.0.X stable release des Subversion-Repository von SourceForge.net.
$ cd SyntaxHighlight_GeSHi $ svn co http://geshi.svn.sourceforge.net/svnroot/geshi/branches/RELEASE_1_0_X_STABLE/geshi-1.0.X/src/ geshi
3. Am Ende der Datei "LocalSettings.php" ist folgender Parameter einzutragen.
# Extension: SyntaxHighlight_GeSHi require_once("extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");
4. Wenn nötig, kann folgende Zeile in der Datei "SyntaxHighlight_GeSHi.class.php" angepasst werden, um den Pfad zur Datei "geshi.php" anzugeben. Je nach dem muss hier der absolute Pfad zur Datei "geshi.php" angegeben werden.
require("geshi/geshi.php");
Achtung: Zwar kann GeSHi auf diese Weise unter Mediawiki 1.10.0 installiert werden, jedoch wird jegliches Syntax-Highlighting innerhalb von "<div>"-Tags ausgeführt. Um auch die Ausführung innerhalb von "<pre>"-Tags zu ermöglichen, müssen folgende ältere Version installiert werden.
$ mkdir SyntaxHighlight_GeSHi && cd SyntaxHighlight_GeSHi
$ wget http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php?revision=28481 && \ wget http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php?revision=28480 && \ wget http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php?revision=28551
$ mv SyntaxHighlight_GeSHi.class.php?revision=28481 SyntaxHighlight_GeSHi.class.php && \ mv SyntaxHighlight_GeSHi.i18n.php?revision=28480 SyntaxHighlight_GeSHi.i18n.php && \ mv SyntaxHighlight_GeSHi.php?revision=28551 SyntaxHighlight_GeSHi.php
$ <nowiki>wget http://downloads.sourceforge.net/geshi/GeSHi-1.0.7.20.tar.bz2?modtime=1183339585&big_mirror=0 $ tar xjf GeSHi-1.0.7.20.tar.bz2 && rm GeSHi-1.0.7.20.tar.bz2
$ vi LocalSettings.php require_once("extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");
Weblinks
- SyntaxHighlight GeSHi (Mediawiki.org)
- GeSHi documentation (QBNZ.com)