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> </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>
|
Code:
<source lang="java">
public class Thread1 extends Thread {
private int counter = 0;
...
}
</source>
Ergebnis:
public class Thread1 extends Thread {
private int counter = 0;
...
}
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 Bereichstag (<loop_listing> </loop_listing>
). Dieser kann mittels eigenen Parametern, unabhängig von <source> </source>
, mit Titel, Beschreibung uvm. beeinflusst 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> </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.
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.
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>
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>
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>
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
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.