3.15 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 Beispiel
lang="" Text <source lang="java">Code</source>
line (kein Wert) <source line>Code</source>
line start="" # <source line start="3">Code</source>
highlight="" #-# <source highlight="3-5">Code</source>


lang[]

Mit dem Parameter "lang" können Sie die verwendete Programmiersprache angeben und beeinflussen, wie der Programmcode hervorgehoben wird.


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[]

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.


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[]

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.

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[]

Mit dem Parameter "highlight" lassen sich eine oder mehrere Zeilen farblich hinterlegen, um diese besonders hervorzuheben.


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
title Text nicht gesetzt
description Text nicht gesetzt
copyright Text nicht gesetzt
index true, false true
render none, icon, marked marked bzw. Wert der Konfigurationsvariable $wgLoopTableDefaultRenderOption
show_copyright true, false false

Im folgenden werden die einzelnen Parameter detailierter erklärt.


title[]

Mit dem Paramter title können Sie den Titel des Listings setzen. Der Titel wird oberhalb des Listings und im Listingverzeichnis angezeigt.

<loop_listing title="Listingtitel" id="5fd759f6ce6f9">
 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[]

Mit dem Paramter description können Sie die Beschreibung des Listings setzen. Die Beschreibung wird unterhalb des Listings und im Listingverzeichnis angezeigt.


<loop_listing description="Listingbeschreibung" id="5fd759f6ce702">
 Programmcode
</loop_listing>

copyright[]

Mit dem Paramter copyright können Sie die Copyrighthinweis des Listings setzen. Der Copyrighthinweis wird unterhalb der Beschreibung und im Listingverzeichnis angezeigt.

Hinweis

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

<loop_listing copyright="Copyrighthinweis" id="5fd759f6ce709">
 Programmcode
</loop_listing>

index[]

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).

<loop_listing index="false" id="5fd759f6ce711">
 Programmcode
</loop_listing>

render[]

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.

none

<loop_listing render="none" id="5fd759f6ce718">
 Programmcode
</loop_listing>
Programmcode


icon

<loop_listing render="icon" id="5fd759f6ce726">
 Programmcode
</loop_listing>
Programmcode


marked

<loop_listing render="marked" id="5fd759f6ce736">
 Programmcode
</loop_listing>
Programmcode


show_copyright[]

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

<loop_listing copyright="Copyrighthinweis" show_copyright="true" id="5fd759f6ce743">
 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.