WaBis

walter.bislins.ch

Makro: NameOfLink

Das Makro NameOfLink extrahiert aus einem Wiki-Link den Seitennamen.

Anwendung

{{NameOfLink|Text}}
Text
String der einen Wiki-Link enthalten kann.

Dieses Makro ist vor allem in selbst definierten Makros nützlich. Wenn Text keinen Link enthält, wird Text selbst zurück gegeben.

Anwendung

Es soll ein Makro Ticker erstellt werden, an welches als Argumente ein Link und ein beschreibender Text übergeben werden können. Das Makro formatiert diese Daten und soll an das Ende des Textes ...mehr» schreiben, wobei bei einem Klick darauf auf die verlinkte Seite gesprungen werden soll.

{{Ticker|[[Ticker Link]]|Beschreibender Ticker-Text.}}

Dies soll wiefolgt dargestellt werden:

Ticker Link
Beschreibender Ticker-Text. ...mehr»

Die entsprechende Makro-Definition sieht etwa wiefolgt aus (erster Entwurf):

{{*Ticker|'''$1''' <br> 
<span $smaller>$2 ''[[$1|...mehr>>]]''</span>
*}}

Das Problem bei der obigen Lösung ist, dass $1 von [[$1|...mehr»]] bereits ein Link mit eckigen Klammern darstellt. Es würde also ein verschachteltes Klammerpaar resultieren. Statt den ganzen Text von $1 brauchen wir an dieser Stelle nur den Seitennamen des Links. Diesen können wir durch Anwenden des Makros NameOfLink aus $1 extrahieren:

[[{{NameOfLink|$1}}|...mehr»]]

Unser Ticker-Makro sieht also wiefolgt aus:

{{*Ticker|'''$1''' <br> 
<span $smaller>$2 ''[[{{NameOfLink|$1}}|...mehr>>]]''</span>
*}}

Alternative Lösung mit Nachteil

Man hätte als erstes Argument für Ticker statt einem Link auch einfach nur den Seitennamen verwenden können. Dann würde unser Ticker-Makro wiefolgt aussehen:

{{*Ticker|'''[[$1]]''' <br> 
<span $smaller>$2 ''[[$1|...mehr>>]]''</span>
*}}

Anwendung:

{{Ticker|Ticker Link|Beschreibender Ticker-Text.}}

Der Nachteil bei dieser Methode ist, dass das Wiki Ticker Link nicht mehr als Link erkennt. Die so verlinkten Seiten würden als verweiste Wiki-Seiten in den erweiterten Wiki-Funktionen aufgeführt. Die Verlinkung der Ticker-Seiten untereinander würde fehlen!

More Page Infos / Sitemap
Created Samstag, 1. Oktober 2011
Scroll to Top of Page
Changed Freitag, 2. März 2012