Du kannst eigene Makros programmieren, die du dann verwenden kannst, wie eingebaute Makros:
Syntax der Makro-Definition
{{*Name|Text*}} {{macro|Name|Text}}
Bei der ersten Form der Makro-Definition können in Text verschachtelte Makro-Aufrufe verwendet werden, während bei der zweiten Form zwar Makro-Aufrufe in Text verwendet werden können, aber nicht verschachtelt (keine Makros in Makros).
Makro-Aufruf
Selbst erstellte Makros rufst du auf wie eingebaute Makros:
{{Name|Argumente}}
Das Wiki erstetzt beim Darstellen der Seite dieses Makro durch den Text, den du bei der Makro-Definition eingegeben hast. Allenfalls werden rekursiv weitere Makro-Aufrufe in Text ebenfalls aufgelöst.
An dein Makro kannst du natürlich auch Argumente übergeben, was sie erst sinnvoll macht. Im Makro-Text greifst du über $1, $2 usw. auf diese Argumente zu. In $0 ist der Name der aktuellen Seite enthalten.
Auf den Seitennamen kann in verschiedenen Varianten zugegriffen werden. Mit $00 werden Teile vor einem Doppelpunkt und in runden Klammern im Seitennamen weggefiltert. Mit $000 werden auch Dateierweiterungen (z.B. .jpg bei Bildern) weggefiltert:
Seitenname $0 $00 $000 --------------------------------------------------------------- Makro:include Makro:include include include Müller (Beruf) Müller (Beruf) Müller Müller Bild:DSC00123.jpg Bild:DSC00123.jpg DSC00123.jpg DSC00123
Du möchtest eine Seite mit einer Bilder-Vorschau gestalten. Die Bilder sollen tabellarisch auf der Seite stehen, je 4 Bilder in einer Zeile. Beim Anklicken eines der Bilder soll auf die enstprechende Bild-Infoseite gesprungen werden. Wenn mit der Maus über das Bild gefahren wird, soll der Bild-Name eingeblendet werden (z.B.DSC0001). Dies erreichst du mit einer Tabelle in der folgenden Art:
{| | [[Bild:DSC00001.jpg|DSC00001]] | [[Bild:DSC00002.jpg|DSC00002]] | [[Bild:DSC00003.jpg|DSC00003]] | [[Bild:DSC00004.jpg|DSC00004]] |}
Es steht also immer fast das Gleiche in jeder Zeile - ein Kandidat für ein eigenes Makro. Mit Hilfe dieses selbst definierten Makros «thumb» vereinfacht sich die Tabelle zu:
{{*thumb|[[Bild:$1.jpg|$1]]*}} {| | {{thumb|DSC00001}} | {{thumb|DSC00002}} | {{thumb|DSC00003}} | {{thumb|DSC00004}} |}
In der Tabelle stehen nun die Aufrufe deines selbst definierten Makros thumb. Als Argument übergibst du jeweils den Namen des Bildes, welches an der entsprechenden Stelle angezeigt werden soll.
Aus
{{thumb|DSC00001}}
wird
[[Bild:DSC00001.jpg|DSC00001]]
indem das Argument DSC00001 an den Positionen $1 eingesetzt wird.
Selbst definierte Makros haben Priorität vor den eingebauten Makros. Das bedeutet, dass du eingebaute Makros durch eigene ersetzen kannst, indem du ein Makro mit einem Namen definierst, der schon existiert.