Hilfe:Syntaxhervorhebung

Die Syntaxhervorhebung war einer der immer wieder geäußerten Wünsche auf Wikibooks und auch in anderen Schwesterprojekten. Seit einiger Zeit ist es möglich, Quelltexte mit Hilfe eines einfachen XML-Tags zu markieren und so die Mediawiki-Software zu veranlassen, die Syntax des Quellcodeabschnitts bzw. Sprachelemente farblich hervorzuheben. Die Neuerung zur farblichen Hervorhebung von Quelltexten eignet sich insbesondere für Bücher, deren Ziel es ist, eine Programmiersprache zu vermitteln.

Es können weit über 100 Programmier- und Auszeichnungssprachen von der MediaWiki-Software syntaktisch dekoriert werden. Die folgende Tabelle bietet einen kurzen Überblick; bei MediaWiki steht die vollständige Liste der unterstützten Sprachen.

Ein Teil der unterstützten Sprachen
actionscript, ada, apache, applescript, asm, asp, autoit, bash, blitzbasic, bnf, c, c_mac, caddcl, cadlisp, cfdg, cfm, cpp, cpp-qt, csharp, css, d, delphi, diff, div, dos, eiffel, fortran, freebasic, gml, groovy, html4strict, idl, ini, inno, io, java, java5, javascript, latex, lisp, lua, matlab, mirc, mpasm, mysql, nsis, objc, ocaml, ocaml-brief, oobas, oracle8, pascal, perl, php, php-brief, plsql, python, qbasic, rails, reg, robots, ruby, sas, scheme, sdlbasic, smalltalk, smarty, sql, tcl, text, thinbasic, tsql, vb, vbnet, vhdl, visualfoxpro, winbatch, xml, xpp, z80

Möchte man einen Abschnitt farblich dekorieren, so rahmt man diesen Abschnitt durch das Element <syntaxhighlight> ein. Eingeleitet wird der Abschnitt durch das folgende Sprachkonstrukt: <syntaxhighlight lang="Sprache">. Abgeschlossen wird der Abschnitt durch dieses Sprachkonstrukt: </syntaxhighlight>. Der durch den Platzhalter Sprache markierte Teil muss durch eines der Sprachkürzel aus der oben angeführten Tabelle ersetzt werden. Bspw. wird bei Quelltexten, die in der Sprache "Perl" geschrieben sind, für das Wort Sprache der Code perl eingesetzt.

Hinweis: Statt <syntaxhighlight> kann auch <source> verwendet werden; dies gilt aber als veraltet und sollte in neueren Büchern vermieden werden. Den gleichen Zweck erfüllt die Vorlage:Syntax, die zusätzlich einen Rahmen ermöglicht.

Das folgende Beispiel (dem Perlbuch entnommen) demonstriert die Nutzung der Syntaxhervorhebung.

Beispiel

Bearbeiten
Wikitext Ergebnis
<syntaxhighlight lang="perl">
#!/usr/bin/perl
use strict;
use warnings;
 
my @arr  = ('Hello', 'World', '!');
my $last = $#arr;
my $var;
for (0 .. $last) {
    $var .= $arr[$_] . " ";
}
$var =~ s/ ! $/!/g;
print "$var\n";
</syntaxhighlight>
#!/usr/bin/perl
use strict;
use warnings;
 
my @arr  = ('Hello', 'World', '!');
my $last = $#arr;
my $var;
for (0 .. $last) {
    $var .= $arr[$_] . " ";
}
$var =~ s/ ! $/!/g;
print "$var\n";

Beispiel mit Zeilennummerierung

Bearbeiten
Wikitext Ergebnis
< syntaxhighlight lang="perl" line=true>
#!/usr/bin/perl
use strict;
use warnings;
 
my @arr  = ('Hello', 'World', '!');
my $last = $#arr;
my $var;
for (0 .. $last) {
    $var .= $arr[$_] . " ";
}
$var =~ s/ ! $/!/g;
print "$var\n";
</syntaxhighlight>
#!/usr/bin/perl
use strict;
use warnings;
 
my @arr  = ('Hello', 'World', '!');
my $last = $#arr;
my $var;
for (0 .. $last) {
    $var .= $arr[$_] . " ";
}
$var =~ s/ ! $/!/g;
print "$var\n";
Bearbeiten