3.17 Syntax-Highlighting für Code / Listings

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Zeile 4: Zeile 4:


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




===Parameter source-Tag===
===Parameter syntaxhighlight-Tag===


Über Parameter haben Sie die Möglichkeit das Verhalten des Tags &lt;source&gt; &lt;/source&gt; zu verändern.
Über Parameter haben Sie die Möglichkeit das Verhalten des Tags &lt;syntaxhighlight&gt; &lt;/syntaxhighlight&gt; zu verändern.


{| class="wikitable"  
{| class="wikitable"  
Zeile 29: Zeile 29:
| [[#lang|lang=""]]
| [[#lang|lang=""]]
| style="font-style:italic;" | Text
| style="font-style:italic;" | Text
| <code><source lang="java">Code</source></code>
| <code><syntaxhighlight lang="java">Code</syntaxhighlight></code>
| Mit dem Parameter "lang" können Sie die verwendete '''Programmiersprache''' angeben und beeinflussen, wie der Programmcode hervorgehoben wird.
| Mit dem Parameter "lang" können Sie die verwendete '''Programmiersprache''' angeben und beeinflussen, wie der Programmcode hervorgehoben wird.
|-
|-
| style="vertical-align:middle;" | [[#line|line]]
| style="vertical-align:middle;" | [[#line|line]]
| style="vertical-align:middle;" | kein Wert
| style="vertical-align:middle;" | kein Wert
| style="vertical-align:middle;" | <code><source line>Code</source></code>
| style="vertical-align:middle;" | <code><syntaxhighlight line>Code</syntaxhighlight></code>
| 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.
| 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.
|-
|-
| style="vertical-align:middle;" | [[#line_start|line start=""]]
| style="vertical-align:middle;" | [[#line_start|line start=""]]
| style="vertical-align:middle;" | #
| style="vertical-align:middle;" | #
| style="vertical-align:middle;" | <code><source line start="3">Code</source></code>
| style="vertical-align:middle;" | <code><syntaxhighlight line start="3">Code</syntaxhighlight></code>
| 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.
| 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.
|-
|-
| style="vertical-align:middle;" | [[#highlight|highlight=""]]
| style="vertical-align:middle;" | [[#highlight|highlight=""]]
| style="vertical-align:middle; font-style:italic;" | #-#
| style="vertical-align:middle; font-style:italic;" | #-#
| style="vertical-align:middle;" | <code><source highlight="3-5">Code</source></code>
| style="vertical-align:middle;" | <code><syntaxhighlight highlight="3-5">Code</syntaxhighlight></code>
| Mit dem Parameter "highlight" lassen sich eine oder mehrere Zeilen '''farblich hinterlegen''', um diese besonders hervorzuheben.
| Mit dem Parameter "highlight" lassen sich eine oder mehrere Zeilen '''farblich hinterlegen''', um diese besonders hervorzuheben.
|}
|}
Zeile 52: Zeile 52:


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


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




Zeile 71: Zeile 71:


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


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




Zeile 90: Zeile 90:


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


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




Zeile 109: Zeile 109:


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


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


<br>
<br>
Zeile 129: Zeile 129:


<loop_listing title="Listingtitel" description="Listingbeschreibung" id="6041e265d3d7c">
<loop_listing title="Listingtitel" description="Listingbeschreibung" id="6041e265d3d7c">
<source lang="java" line>
<syntaxhighlight lang="java" line>
public class Thread1 extends Thread {
public class Thread1 extends Thread {
private int counter = 0;
private int counter = 0;
...
...
}
}
</source>
</syntaxhighlight>
</loop_listing>
</loop_listing>


Zeile 271: Zeile 271:


<br>
<br>
<loop_area type="sourcecode">
<loop_area type="syntaxhighlightcode">
Es gibt übrigens auch einen Seitenbereich vom Typ "sourcecode"<br \><br \>
Es gibt übrigens auch einen Seitenbereich vom Typ "syntaxhighlightcode"<br \><br \>
Code: &lt;loop_area type="sourcecode"&gt; &lt;/loop_area&gt;
Code: &lt;loop_area type="syntaxhighlightcode"&gt; &lt;/loop_area&gt;
</loop_area>
</loop_area>


<loop_area type="notice">
<loop_area type="notice">
Weitere Hinweise sind [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi hier] zu finden.  
Weitere Hinweise sind [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi hier] zu finden.  
Der im LOOP verwendete Tag <code><tag>source</tag> ... <tag>source</tag></code> wurde bei Mediawiki inzwischen durch <code><tag>syntaxhighlight</tag> ... <tag>syntaxhighlight</tag> abgelöst.
</loop_area>
</loop_area>

Version vom 27. April 2021, 13:23 Uhr


Highlighting für Code[]

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

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

Ergebnis:

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


Parameter syntaxhighlight-Tag[]

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

Parameter gültige Werte Code Line Beschreibung
lang="" Text <syntaxhighlight lang="java">Code</syntaxhighlight> Mit dem Parameter "lang" können Sie die verwendete Programmiersprache angeben und beeinflussen, wie der Programmcode hervorgehoben wird.
line kein Wert <syntaxhighlight line>Code</syntaxhighlight> 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="" # <syntaxhighlight line start="3">Code</syntaxhighlight> 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="" #-# <syntaxhighlight highlight="3-5">Code</syntaxhighlight> Mit dem Parameter "highlight" lassen sich eine oder mehrere Zeilen farblich hinterlegen, um diese besonders hervorzuheben.


lang[]

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

Ergebnis:

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


line[]

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

Ergebnis:

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


line start[]

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

Ergebnis:

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


highlight[]

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

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.

1 public class Thread1 extends Thread {
2 	private int counter = 0;
3 ...
4 }


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 wird 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


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

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

Hinweis

Weitere Hinweise sind hier zu finden.