Vorlage:WikilinkWeg: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „<noinclude> Dies ist die Vorlage „WikilinkWeg“. Sie sollte im folgenden Format genutzt werden: <pre> {{WikilinkWeg }} </pre> Klicke auf „Bearbeiten“, u…“)
 
Zeile 1: Zeile 1:
<noinclude>
+
<noinclude>Dies ist die Vorlage „WikilinkWeg“. Sie wandelt einen Wiki-Link im Format <nowiki>[[:Seitenname|Seitenname]]</nowiki> in einfachen Fließtext um (im Beispiel also: Seitenname). Diese Vorlage hat dieselbe Funktion wie <nowiki>{{PAGENAME}}</nowiki>, kann aber in Vorlagen eingesetzt werden, um auch Variablen wie <nowiki>{{{Variable}}}</nowiki> in Fließtexte zu wandeln.
Dies ist die Vorlage „WikilinkWeg“.
 
 
Sie sollte im folgenden Format genutzt werden:
 
Sie sollte im folgenden Format genutzt werden:
 +
<pre>{{WikilinkWeg|Zeichenkette}}</pre>
 +
 +
Der Parameter "Zeichenkette" ist der umzuwandelnde Wiki-Link.
 +
 
 +
==Beispiele==
 +
{| class="wikitable oben"
 +
! Zeichenkette vorher
 +
! Kommentar
 +
! Ergebnis WikilinkWeg
 +
|-
 +
| <nowiki>[[xxx]]</nowiki>
 +
&rarr; [[xxx]]
 +
| Ein simplier Wikilink
 +
&rarr; Die Linkklammern werden entfernt
 +
| <nowiki>{{ WikilinkWeg | [[xxx]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[xxx]]}}
 +
|-
 +
| <nowiki>[[xxx|yyy]]</nowiki>
 +
&rarr; [[xxx|yyy]]
 +
| Ein Wikilink mit Alternativtext
 +
&rarr; Linkklammern und Alternativtext werden entfernt
 +
| <nowiki>{{ WikilinkWeg | [[xxx|yyy]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[xxx|yyy]]}}
 +
|-
 +
| <nowiki>[[zzz:xxx|yyy]]</nowiki>
 +
&rarr; [[zzz:xxx|yyy]]
 +
| Ein Wikilink mit Namespace und Alternativtext
 +
&rarr; Linkklammern, Namespace und Alternativtext werden entfernt
 +
| <nowiki>{{ WikilinkWeg | [[zzz:xxx|yyy]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[zzz:xxx|yyy]]}}
 +
|-
 +
| <nowiki>[[:zzz:xxx]]</nowiki>
 +
&rarr; [[:zzz:xxx]]
 +
| Ein typischer Kategorie-Link mit zwei Doppelpunkten
 +
&rarr; Alles bis zum hintersten Doppelpunkt wird entfernt (sowie die Linkklammern)
 +
| <nowiki>{{ WikilinkWeg | [[:zzz:xxx]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[:zzz:xxx]]}}
 +
|-
 +
| <nowiki>[[xxx/sub]]</nowiki>
 +
&rarr; [[xxx/sub]]
 +
| Ein Wikilink auf eine Unterseite
 +
&rarr; Linkklammern werden entfernt, Haupt-, Unterseite und Slash bleiben stehen
 +
| <nowiki>{{ WikilinkWeg | [[xxx/sub]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[xxx/sub]]}}
 +
|-
 +
| <nowiki>[http://www.irgendwo.de/ Irgendwo]</nowiki>
 +
&rarr; [http://www.irgendwo.de/ Irgendwo]
 +
| Ein typischer externer Link mit Alternativtext
 +
&rarr; Das Ergebnis ist unbrauchbar, da die Funktion alles bis zum letzten Doppelpunkt entfernt
 +
| <nowiki>{{ WikilinkWeg | [http://www.irgendwo.de/ Irgendwo] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[http://www.irgendwo.de/ Irgendwo]}}
 +
|-
 +
| <nowiki>[[:Vorlage:WikilinkWeg|WikilinkWeg]]</nowiki>
 +
&rarr; [[:Vorlage:WikilinkWeg|WikilinkWeg]]
 +
| Ein Link auf diese Vorlage hier
 +
&rarr; Alles muss raus, was nicht Seitentitel ist :-)
 +
| <nowiki>{{ WikilinkWeg | [[:Vorlage:WikilinkWeg|WikilinkWeg]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[:Vorlage:WikilinkWeg|WikilinkWeg]]}}
 +
|}
 +
 +
== Quellcode kommentiert ==
 
<pre>
 
<pre>
{{WikilinkWeg
+
<!-- Entferne alle Zeichen von links bis einschließlich dem letztmalig auftretenden Doppelpunkt ":" -->
}}
+
{{#vardefine: Zeichenkette | {{#explode: {{{1}}} | : | -1 }} }}
 +
 
 +
<!-- Entferne alle Zeichen von links bis einschließlich der letztmalig auftretenden öffnenden Eckklammer "[" -->
 +
{{#vardefine: Zeichenkette | {{#explode: {{#var:Zeichenkette}} | {{!(}} | -1 }} }}
 +
 
 +
<!-- Entferne alle Zeichen bis zum Ende ab der erstmalig auftretenden Pipe "|" -->
 +
{{#vardefine: Zeichenkette | {{#explode: {{#var:Zeichenkette}} | {{!}} | 0 }} }}
 +
 
 +
<!-- Entferne alle Zeichen bis zum Ende ab der erstmalig auftretenden schließenden Eckklammer "]" -->
 +
<!-- Gebe diese verbleibende Zeichenkette zurück -->
 +
{{#explode: {{#var:Zeichenkette}} | {{)!}} | 0 }}
 
</pre>
 
</pre>
Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen.
+
</noinclude><includeonly>{{#vardefine:Zeichenkette|{{#explode:{{{1}}}|:|-1}}}}{{#vardefine:Zeichenkette|{{#explode:{{#var:Zeichenkette}}|{{!(}}|-1}}}}{{#vardefine:Zeichenkette|{{#explode:{{#var:Zeichenkette}}|{{!}}|0}}}}{{#explode:{{#var:Zeichenkette}}|{{)!}}|0}}</includeonly>
</noinclude><includeonly></includeonly>
 

Version vom 3. Juni 2014, 11:25 Uhr

Dies ist die Vorlage „WikilinkWeg“. Sie wandelt einen Wiki-Link im Format [[:Seitenname|Seitenname]] in einfachen Fließtext um (im Beispiel also: Seitenname). Diese Vorlage hat dieselbe Funktion wie {{PAGENAME}}, kann aber in Vorlagen eingesetzt werden, um auch Variablen wie {{{Variable}}} in Fließtexte zu wandeln. Sie sollte im folgenden Format genutzt werden:

{{WikilinkWeg|Zeichenkette}}

Der Parameter "Zeichenkette" ist der umzuwandelnde Wiki-Link.

Beispiele

Zeichenkette vorher Kommentar Ergebnis WikilinkWeg
[[xxx]]

xxx

Ein simplier Wikilink

→ Die Linkklammern werden entfernt

{{ WikilinkWeg | [[xxx]] }}

→ xxx

[[xxx|yyy]]

yyy

Ein Wikilink mit Alternativtext

→ Linkklammern und Alternativtext werden entfernt

{{ WikilinkWeg | [[xxx|yyy]] }}

→ xxx

[[zzz:xxx|yyy]]

yyy

Ein Wikilink mit Namespace und Alternativtext

→ Linkklammern, Namespace und Alternativtext werden entfernt

{{ WikilinkWeg | [[zzz:xxx|yyy]] }}

→ xxx

[[:zzz:xxx]]

zzz:xxx

Ein typischer Kategorie-Link mit zwei Doppelpunkten

→ Alles bis zum hintersten Doppelpunkt wird entfernt (sowie die Linkklammern)

{{ WikilinkWeg | [[:zzz:xxx]] }}

→ xxx

[[xxx/sub]]

xxx/sub

Ein Wikilink auf eine Unterseite

→ Linkklammern werden entfernt, Haupt-, Unterseite und Slash bleiben stehen

{{ WikilinkWeg | [[xxx/sub]] }}

→ xxx/sub

[http://www.irgendwo.de/ Irgendwo]

Irgendwo

Ein typischer externer Link mit Alternativtext

→ Das Ergebnis ist unbrauchbar, da die Funktion alles bis zum letzten Doppelpunkt entfernt

{{ WikilinkWeg | [http://www.irgendwo.de/ Irgendwo] }}

→ //www.irgendwo.de/ Irgendwo

[[:Vorlage:WikilinkWeg|WikilinkWeg]]

WikilinkWeg

Ein Link auf diese Vorlage hier

→ Alles muss raus, was nicht Seitentitel ist :-)

{{ WikilinkWeg | [[:Vorlage:WikilinkWeg|WikilinkWeg]] }}

→ WikilinkWeg

Quellcode kommentiert

<!-- Entferne alle Zeichen von links bis einschließlich dem letztmalig auftretenden Doppelpunkt ":" -->
{{#vardefine: Zeichenkette | {{#explode: {{{1}}} | : | -1 }} }}

<!-- Entferne alle Zeichen von links bis einschließlich der letztmalig auftretenden öffnenden Eckklammer "[" -->
{{#vardefine: Zeichenkette | {{#explode: {{#var:Zeichenkette}} | {{!(}} | -1 }} }}

<!-- Entferne alle Zeichen bis zum Ende ab der erstmalig auftretenden Pipe "|" -->
{{#vardefine: Zeichenkette | {{#explode: {{#var:Zeichenkette}} | {{!}} | 0 }} }}

<!-- Entferne alle Zeichen bis zum Ende ab der erstmalig auftretenden schließenden Eckklammer "]" -->
<!-- Gebe diese verbleibende Zeichenkette zurück -->
{{#explode: {{#var:Zeichenkette}} | {{)!}} | 0 }}