Makros

Makros sind spezielle Anweisungen, welche Text, Scripts oder anderes generieren können und dadurch die Eingabe vereinfachen. Es gibt eine Menge bereits ins Wiki eingebauter Makros, aber du kannst auch eigene Makros definieren.

Allgemeine Makro-Syntax

{{Makroname|Argumente}}
Makroname
Name des einzufügenden Makros, kann auch aus mehreren Worten bestehen.
Argumente: optional
Durch | voneinander getrennte Argumente für das Makro.

Falls das Makro keine Argumente benötigt, können der senkrechte Strich und die Argumente weggelassen werden.

Beispiele

{{break}}          siehe Makro: break
{{wliz|Artikel}}   siehe Makro: wliz, wlizen
{{data}}           siehe Makro: data
{{end data}}

Direkt-Makros

Direkt-Makros sind eine spezielle Form der normalen Makros. Normalerweise werden Makros beim Laden einer Seite ausgeführt. Direkt-Makros hingegen werden bereits beim Speichern der Seite ausgeführt. Damit kann man zum Beispiel eine Signatur in eine Seite einfügen, welche den Usernamen und das Datum zum Zeitpunkt der Editierung der Seite festhält (siehe Makro signature).

Ein Direkt-Makro wird wiefolgt aufgerufen:

{{$Makroname|Argumente}}

Alle eingebauten Makros, Variablen und Funktionen können als Direkt-Makros verwendet werden. Selbst definierte Makros werden hingegen beim Speichern nicht ausgeführt und können daher nicht als Direkt-Makros verwendet werden.

Beispiel

Beim Einfügen des folgenden Direkt-Makros in eine Seite:

Text {{$signature}}

wird {{$signature}} beim Speichern der Seite ersetzt durch:

-- wabis, 18.07.2008, 03:30:43

Beim erneuten Editieren der Seite steht also zum Beispiel folgende Zeile auf der Seite:

Text -- [[wabis]], 18.07.2008, 03:30:43

Funktions-Aufrufe

Mit der Makro-Schreibweise können auch bestimmte interne Funktionen oder Wiki-Scripts aufgerufen werden (Vergleiche auch mit dem Makro: call). Die Funktionen müssen einen String zurück geben und können eine beliebige Anzahl von String-Argumenten haben.

Syntax eines Funktions-Aufrufes

{{Funktionsname|Argumente}}
Funktionsname
Name des auszuführenden Funktion. Wenn ein Makro mit dem selben Namen existiert, hat das Makro Vorrang.
Argumente (optional)
Durch | voneinander getrennte Argumente für die Funktion.

Falls die Funktion keine Argumente benötigt, können der senkrechte Strich und die Argumente weggelassen werden.

Achtung: In HTML konvertierte Wiki-Seiten werden in einem Cache zwischengespeichert. Es wird also immer der bei der letzten Konvertierung berechnete Funktionswert angezeigt. Wenn Funktionen verwendet werden, welche bei jedem Seitenaufruf neue Resultate ergeben sollen (z.B. eine Funktion zur Zufälligen Anzeige von Links), muss die Funktion mit dem Makro call aufgerufen werden. Per call aufgerufene Funktionen bewirken, dass die Wiki-Seite nicht mehr zwischengespeichert wird, sodass immer aktuelle Werte angezeigt werden.

Beispiele für Funktionsaufrufe

{{YearOfDate|12.3.2006}}   →  2006

Die Eingebaute Funktion YearOfDate nimmt als Argument einen String, welcher ein gültiges Datum repräsentiert, extrahiert das Jahr daraus und gibt dieses als String zurück. Das ganze Makro im Beispiel wird also durch den Text 2006 ersetzt.

{{LongDateFormat|21.11.2006}}    →   Dienstag, 21. November 2006

Werte abrufen

Mit der Makro-Schreibweise kann auch auf Werte von internen Variablen zugegriffen werden, sofern diese einen String gepeichert haben oder in einen String umgewandelt werden können.

Syntax eines Werte-Abrufes

{{Variablenname}}
Variablenname
Name der internen Variablen. Wenn ein Makro mit dem selben Namen existiert, hat das Makro Vorrang.

Beispiel für Wert-Abruf

ASP_PAGE = {{ASP_PAGE}}   →   ASP_PAGE = index.asp

Die Variable ASP_PAGE enthält den Dateinamen der Wiki-Instanz, der ASP-Datei also, welche die aktuelle Seite darstellt.

PAGE_NAME = {{PAGE_NAME}}   →   PAGE_NAME = Makros

Die Variable PAGE_NAME enthält den Namen der aktuellen Seite.