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.
{{Makroname|Argumente}}
Falls das Makro keine Argumente benötigt, können der senkrechte Strich und die Argumente weggelassen werden.
{{break}} siehe Makro: break {{wliz|Artikel}} siehe Makro: wliz, wlizen {{data}} siehe Makro: data {{end data}}
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
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.
{{Funktionsname|Argumente}}
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.
{{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
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.
{{Variablenname}}
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.