Mediawiki/Erweiterung/Syntaxhighlight GESHI: Unterschied zwischen den Versionen

Aus Admin Kuhn GmbH
Wechseln zu: Navigation, Suche
(Optionen)
(Weblinks)
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Die [[Mediawiki]]-Erweiterung <b>Syntaxhighlight GESHI</b> dient der [[Syntaxhervorhebung]] von Programmcode. Wie die Tags "&lt;pre&gt;" und "&lt;poem&gt;" werden Leerzeichen dabei geschützt - der Code erscheint also genau, wie er eingegeben wurde. Zusätzlich kann auch eine Zeilennummerierung eingefügt werden.
+
__NOTOC__
 +
Die [[Mediawiki]]-Erweiterung <b>Syntaxhighlight GESHI</b> dient der [[Syntaxhervorhebung]] von Programmcode. Wie bei den Tags <tt>&lt;pre&gt;</tt> und <tt>&lt;poem&gt;</tt> 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.
 
Das Beispiel zeigt, wie HTML-Code eingefärbt werden kann.
  
  &lt;source lang="html4strict" line start=1&gt;
+
  &lt;syntaxhighlight lang="html4strict" line start=1&gt;
  HTML module goes here...
+
  &lt;html&gt;
  &lt;/source&gt;
+
&lt;head&gt;&lt;title&gt;Titel&lt;/title&gt;&lt;/head&gt;
 +
&lt;body&gt;
 +
&lt;p&gt;Hello &lt;span style="font-weight: bold;"&gt;world&lt;/span&gt;!&lt;/p&gt;
 +
&lt;/body&gt;
 +
&lt;/html&gt;
 +
  &lt;/syntaxhighlight&gt;
 +
 
 +
Das Ergebnis sieht dann wie folgt aus.
 +
 
 +
<syntaxhighlight lang="html4strict" line start=1>
 +
<html>
 +
<head><title>Titel</title></head>
 +
<body>
 +
<p>Hello <span style="font-weight: bold;">world</span>!</p>
 +
</body>
 +
</html>
 +
</syntaxhighlight>
  
 
== Optionen ==
 
== Optionen ==
Zeile 11: Zeile 28:
 
Es werden über 100 Sprachen unterstützt, darunter die folgenden.
 
Es werden über 100 Sprachen unterstützt, darunter die folgenden.
  
{| class=wikitable
+
{| class=wiki
! Option !! [[Programmiersprache]]
+
! Option
 +
! [[Programmiersprache]]
 
|-
 
|-
 
| <tt>apache</tt> || Apache Log
 
| <tt>apache</tt> || Apache Log
Zeile 51: Zeile 69:
 
== Installation ==
 
== Installation ==
  
1. Herunterladen der vier Erweiterungsdateien aus dem [http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi/ Subversion-Repository] ins Verzeichnis "extensions/SyntaxHighlight_GeSHi" des Wikis.
+
1. Herunterladen der Erweiterung, dabei wird das Verzeichnis "extensions/SyntaxHighlight_GeSHi" angelegt.
  
  $ <b>cd /var/www/mikiwiki/extensions</b>
+
  # <b>cd /var/www/adminkuhn/extensions</b>
  $ <b><nowiki>svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi</nowiki></b>
+
  # <b><nowiki>git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/SyntaxHighlight_GeSHi.git</nowiki></b>
 +
Cloning into SyntaxHighlight_GeSHi...
 +
remote: Counting objects: 1726, done
 +
remote: Finding sources: 100% (1726/1726)
 +
remote: Getting sizes: 100% (294/294)
 +
remote: Total 1726 (delta 1074), reused 1725 (delta 1074)
 +
Receiving objects: 100% (1726/1726), 1.37 MiB | 952 KiB/s, done.
 +
Resolving deltas: 100% (1074/1074), done.
  
2. Herunterladen des 1.0.X stable release des [http://geshi.svn.sourceforge.net/svnroot/geshi/branches/RELEASE_1_0_X_STABLE/geshi-1.0.X/src/ Subversion-Repository] von SourceForge.net.
+
2. Löschen des nicht benötigten Verzeichnisses "docs".
  
  $ <b>cd SyntaxHighlight_GeSHi</b>
+
  # <b>rm -rf extensions/SyntaxHighlight_GeSHi/geshi/docs</b>
$ <b><nowiki>svn co http://geshi.svn.sourceforge.net/svnroot/geshi/branches/RELEASE_1_0_X_STABLE/geshi-1.0.X/src/ geshi</nowiki></b>
 
  
 
3. Am Ende der Datei "LocalSettings.php" ist folgender Parameter einzutragen.
 
3. Am Ende der Datei "LocalSettings.php" ist folgender Parameter einzutragen.
Zeile 69: Zeile 93:
  
 
  require("geshi/geshi.php");
 
  require("geshi/geshi.php");
 
<b>Achtung:</b> Zwar kann GeSHi auf diese Weise unter Mediawiki 1.10.0 installiert werden, jedoch wird jegliches Syntax-Highlighting innerhalb von "&lt;div&gt;"-Tags ausgeführt. Um auch die Ausführung innerhalb von "&lt;pre&gt;"-Tags zu ermöglichen, muss folgende ältere Version installiert werden.
 
 
$ <b>mkdir SyntaxHighlight_GeSHi && cd SyntaxHighlight_GeSHi</b>
 
 
$ <b><nowiki>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</nowiki></b>
 
 
$ <b>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</b>
 
 
$ <b><nowiki>wget http://downloads.sourceforge.net/geshi/GeSHi-1.0.7.20.tar.bz2?modtime=1183339585&big_mirror=0</nowiki></b>
 
$ <b>tar xjf GeSHi-1.0.7.20.tar.bz2 && rm GeSHi-1.0.7.20.tar.bz2</b>
 
 
In die Datei "LocalSettings.php" ist folgende Zeile einzufügen, um die Erweiterung zu laden.
 
 
## Extension: SyntaxHighlight_GeSHi
 
require_once("extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");
 
  
 
== Weblinks ==
 
== Weblinks ==
  
 
{{Weblinks}}
 
{{Weblinks}}
{{url|US|Mediawiki|eng|http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi|Extension:SyntaxHighlight_GeSHi}}
+
{{url|US|Mediawiki|eng|http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi|Extension:SyntaxHighlight_GeSHi|icon=https://www.google.com/s2/favicons?domain_url=mediawiki.org}}
 
{{url_dewikipedia|Hilfe:Source|Hilfe:Source}}
 
{{url_dewikipedia|Hilfe:Source|Hilfe:Source}}
 
{{url|DE|Benny Baumann|eng|http://qbnz.com/highlighter/geshi-doc.html|GeSHi documentation}}
 
{{url|DE|Benny Baumann|eng|http://qbnz.com/highlighter/geshi-doc.html|GeSHi documentation}}

Aktuelle Version vom 10. September 2020, 14:03 Uhr

Die Mediawiki-Erweiterung Syntaxhighlight GESHI dient der Syntaxhervorhebung von Programmcode. Wie bei den 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.

<syntaxhighlight lang="html4strict" line start=1>
<html>
<head><title>Titel</title></head>
<body>
<p>Hello <span style="font-weight: bold;">world</span>!</p>
</body>
</html>
</syntaxhighlight>

Das Ergebnis sieht dann wie folgt aus.

1  <html>
2  <head><title>Titel</title></head>
3  <body>
4  <p>Hello <span style="font-weight: bold;">world</span>!</p>
5  </body>
6  </html>

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 Hypertext Processor / PHP
python Python
ruby Ruby
sql Structured Query Language / SQL
xml XML

Installation

1. Herunterladen der Erweiterung, dabei wird das Verzeichnis "extensions/SyntaxHighlight_GeSHi" angelegt.

# cd /var/www/adminkuhn/extensions
# git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/SyntaxHighlight_GeSHi.git
Cloning into SyntaxHighlight_GeSHi...
remote: Counting objects: 1726, done
remote: Finding sources: 100% (1726/1726)
remote: Getting sizes: 100% (294/294)
remote: Total 1726 (delta 1074), reused 1725 (delta 1074)
Receiving objects: 100% (1726/1726), 1.37 MiB | 952 KiB/s, done.
Resolving deltas: 100% (1074/1074), done.

2. Löschen des nicht benötigten Verzeichnisses "docs".

# rm -rf extensions/SyntaxHighlight_GeSHi/geshi/docs

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");

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country US.gif Mediawiki eng Extension:SyntaxHighlight_GeSHiwbm
country DE.gif Wikipedia ger Hilfe:Sourcewbm Enzyklopädischer Artikel
country DE.gif Benny Baumann eng GeSHi documentationwbm