Die LOOP-Erweiterung für Syntax-Highlighting ermöglicht die übersichtliche Darstellung von Programmlisten.
http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi
<source lang="java" line>
public class Thread1 extends Thread {
private int counter = 0;
...
}
</source>
Über Parameter haben Sie die Möglichkeit das Verhalten des Tags <source inline> </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>
|
inline | (kein Wert) | Hier steht Code mitten in der Textzeile
|
Das Ergebnis auf der Seite sieht dann wie folgt aus:
Download Thread1.java
public class Thread1 extends Thread {
private int counter = 0;
private boolean doCount;
JTextField textField = null;
public Thread1(JTextField textField,
boolean doCount ) {
this.textField = textField;
this.doCount = doCount;
} // Konstruktor
public void setDoCount(boolean doCount) {
this.doCount = doCount;
} // switchDoCount
public void run() {
while (true) {
try {
Thread.sleep(100);
} catch(InterruptedException e) {
System.err.println("Programm wurde abgebrochen");
} // catch
if (doCount) {
counter++;
textField.setText(new Integer(counter).toString());
} // if
} // while
} // startProgramm
} // class Thread1
Der Tag "source" wurde bei Mediawiki inzwischen durch "syntaxhighlight" abgelöst. 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.
Für die Einbindung von Programmlisten in LOOP gibt es einen eigenen Bereitstag (<loop_listing> </loop_listing>
). Dieser kann mittels eigenen Parametern, unabhängig von <source> </source>
, mit dem man Titel, Beschreibung uvm. einbinden kann.
<loop_example>
public class Thread1 extends Thread {
private int counter = 0;
...
}
</loop_example>
Über Parameter haben Sie die Möglichkeit das Verhalten des Tags 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.
Parameter | title |
---|---|
gültige Werte | Text |
Standard | nicht gesetzt |
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"> Programmcode </loop_listing>
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.
Parameter | description |
---|---|
gültige Werte | Text |
Standard | nicht gesetzt |
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"> Programmcode </loop_listing>
Parameter | copyright |
---|---|
gültige Werte | Text |
Standard | nicht gesetzt |
Mit dem Paramter copyright können Sie die Copyrighthinweis des Listings setzen. Der Copyrighthinweis wird unterhalb der Beschreibung und im Listingverzeichnis angezeigt.
Der Copyrighthinweis wird nur angezeigt wenn der Parameter show_copyright denn Wert true besitzt.
<loop_listing copyright="Copyrighthinweis"> Programmcode </loop_listing>
Parameter | index |
---|---|
gültige Werte | true, false |
Standard | 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).
<loop_listing index="false"> Programmcode </loop_listing>
Parameter | render |
---|---|
gültige Werte | none, icon, marked |
Standard | 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.
none
<loop_listing render="none"> Programmcode </loop_listing>
Programmcode
icon
<loop_listing render="icon"> Programmcode </loop_listing>
Programmcode
marked
<loop_listing render="marked"> Programmcode </loop_listing>
Programmcode
Parameter | show_copyright |
---|---|
gültige Werte | true, false |
Standard | false |
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"> Programmcode </loop_listing>
Programmcode
Es gibt übrigens auch einen Seitenbereich vom Typ sourcecode
Learning Object Online Platform
Es handelt sich hierbei um das Tutorial für LOOP1. Die Dokumentation für LOOP 2 wird gegenwärtig entwickelt: https://loop.eduloop.de. Viele Funktionen lassen sich ähnlich auch in LOOP2 verwenden.