3.17 Syntax-Highlighting für Code / Listings


Highlighting für Code[]

Die LOOP-Erweiterung für Syntax-Highlighting ermöglicht die übersichtliche Darstellung von Programmlisten.

Syntax: <source lang="java" line> public class Thread1 extends Thread { private int counter = 0; ... } </source>

Ergebnis:

 public class Thread1 extends Thread {
	private int counter = 0; ... }


Parameter source-Tag[]

Über Parameter haben Sie die Möglichkeit das Verhalten des Tags <source> </source> zu verändern.

Parameter gültige Werte Code Line Beschreibung
lang="" Text <source lang="java">Code</source> Mit dem Parameter "lang" können Sie die verwendete Programmiersprache angeben und beeinflussen, wie der Programmcode hervorgehoben wird.
line kein Wert <source line>Code</source> Mit dem Parameter "line" schalten Sie die Zeilennummerierung ein. Wenn man die Nummerierung nicht haben möchte, lässt man die Option "line" weg. Dann bleibt jedoch eine störende Randbegrenzung links und unten zurück, die man mit der Option "enclose="none"" entfernen kann.
line start="" # <source line start="3">Code</source> Mit dem erweiterten Parameter "line start" können Sie den Nummerierungsstart der ersten Zeile festlegen. Soll die erste Zeile mit der Zeilennummerierung 3 starten, verwendet man folgenden Parameter.
highlight="" #-# <source highlight="3-5">Code</source> Mit dem Parameter "highlight" lassen sich eine oder mehrere Zeilen farblich hinterlegen, um diese besonders hervorzuheben.


lang[]

Syntax: <source lang="java"> public class Thread1 extends Thread { private int counter = 0; ... } </source>

Ergebnis:

public class Thread1 extends Thread {
	private int counter = 0;
...
}


line[]

Syntax: <source line> public class Thread1 extends Thread { private int counter = 0; ... } </source>

Ergebnis:

public class Thread1 extends Thread {
	private int counter = 0;
...
}


line start[]

Syntax: <source line start="3"> public class Thread1 extends Thread { private int counter = 0; ... } </source>

Ergebnis:

public class Thread1 extends Thread {
	private int counter = 0;
...
}


highlight[]

Syntax: <source highlight="1-2"> public class Thread1 extends Thread { private int counter = 0; ... } </source>

Ergebnis:

public class Thread1 extends Thread {
	private int counter = 0;
...
}


Highlighting für Listings[]

Für die Einbindung von Programmlisten in LOOP gibt es einen weiteren Bereichstag <loop_listing> </loop_listing>, der den Programmcode umschließt und diesen durch separaten Parametern mit Titel, Beschreibung u.a. bestückt.

public class Thread1 extends Thread {
	private int counter = 0;
...
}


Parameter listing-Tag[]

Über Parameter haben Sie die Möglichkeit das Verhalten des Tags <loop_listing> </loop_listing> zu beinflussen.

Parameter gültige Werte Standard Beschreibung
title Text nicht gesetzt Mit dem Paramter title können Sie den Titel des Listings setzen. Der Titel wird oberhalb des Listings und im Listingverzeichnis angezeigt.
description Text nicht gesetzt Mit dem Paramter description können Sie die Beschreibung des Listings setzen. Die Beschreibung wird unterhalb des Listings und im Listingverzeichnis angezeigt.
copyright Text nicht gesetzt Mit dem Paramter copyright können Sie die Copyrighthinweis des Listings setzen. Der Copyrighthinweis wird unterhalb der Beschreibung und im Listingverzeichnis angezeigt.
index true, false true Mit dem Parameter index können Sie beinflussen, ob das Listing im Listingverzeichnis angezeigt werden oder nicht. Auf die Anzeige des Listings auf der Seite hat der Parameter keinen Einfluss (siehe hierzu render).
render none, icon, marked marked bzw. Wert der Konfigurationsvariable $wgLoopTableDefaultRenderOption Mit dem Parameter render können Sie beinflussen wie Listings auf der Seite dargestellt werden. Auf die Indexierung des Listings für das Listingverzeichnis hat der Parameter keinen Einfluss (siehe hierzu index).


Ist der Parameter render nicht angeben wird der Standardwert marked verwendet. Dieser Standard kann in der Konfigurationsdatei LocalSettings.php über die Variable $wgLoopListingDefaultRenderOption auf einen der Werte none, icon oder marked gesetzt werden.

show_copyright true, false false Mit dem Parameter copyright können Sie beinflussen, ob unterhalb der Beschreibung ein Copyrighthinweis angezeigt wird, oder nicht.

Im folgenden werden die einzelnen Parameter detailierter erklärt.


title[]

<loop_listing title="Listingtitel" id="6041e7fac6cb2">
 Programmcode
</loop_listing>
Wichtig

Wichtig: Nur wenn Sie einen Titel angegeben haben funktioniert ein Springen aus dem Listingverzeichnis an die richtige Stelle der Seite. Ist kein Titel angegeben führt der Link im Listingverzeichnis zwar auf die richtige Seite aber nicht direkt zu der Stelle an der sich das Listing befindet.


description[]

<loop_listing description="Listingbeschreibung" id="6041e7fac6cbb">
 Programmcode
</loop_listing>


copyright[]

Hinweis

Der Copyrighthinweis wird nur angezeigt wenn der Parameter show_copyright denn Wert true besitzt.

<loop_listing copyright="Copyrighthinweis" id="6041e7fac6cc2">
 Programmcode
</loop_listing>


index[]

<loop_listing index="false" id="6041e7fac6cc8">
 Programmcode
</loop_listing>


render none[]

<loop_listing render="none" id="6041e7fac6ccf">
 Programmcode
</loop_listing>
Programmcode

render icon[]

<loop_listing render="icon" id="6041e7fac6cdc">
 Programmcode
</loop_listing>
Programmcode


render marked[]

<loop_listing render="marked" id="6041e7fac6ce8">
 Programmcode
</loop_listing>
Programmcode


show_copyright[]

<loop_listing copyright="Copyrighthinweis" show_copyright="true" id="6041e7fac6cf4">
 Programmcode
</loop_listing>


Programmcode
Code

Es gibt übrigens auch einen Seitenbereich vom Typ "sourcecode"

Code: <loop_area type="sourcecode"> </loop_area>

Hinweis

Weitere Hinweise sind hier zu finden.

Der im LOOP verwendete Tag <tag>source</tag> ... <tag>source</tag> wurde bei Mediawiki inzwischen durch <tag>syntaxhighlight</tag> ... <tag>syntaxhighlight</tag> abgelöst.