Vorlage:WikilinkWeg: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
(Echte Artikel bei Beispielen eingesetzt)
 
Zeile 11: Zeile 11:
 
! Ergebnis WikilinkWeg
 
! Ergebnis WikilinkWeg
 
|-
 
|-
| <nowiki>[[xxx]]</nowiki>  
+
| <nowiki>[[Selenia]]</nowiki>  
&rarr; [[xxx]]
+
&rarr; [[Selenia]]
 
| Ein simplier Wikilink  
 
| Ein simplier Wikilink  
 
&rarr; Die Linkklammern werden entfernt
 
&rarr; Die Linkklammern werden entfernt
| <nowiki>{{ WikilinkWeg | [[xxx]] }}</nowiki>  
+
| <nowiki>{{ WikilinkWeg | [[Selenia]] }}</nowiki>  
&rarr; {{WikilinkWeg|[[xxx]]}}
+
&rarr; {{WikilinkWeg|[[Selenia]]}}
 
|-
 
|-
| <nowiki>[[xxx|yyy]]</nowiki>  
+
| <nowiki>[[Selenia|Kaiserreich Selenia]]</nowiki>  
&rarr; [[xxx|yyy]]
+
&rarr; [[Selenia|Kaiserreich Selenia]]
 
| Ein Wikilink mit Alternativtext
 
| Ein Wikilink mit Alternativtext
 
&rarr; Linkklammern und Alternativtext werden entfernt
 
&rarr; Linkklammern und Alternativtext werden entfernt
| <nowiki>{{ WikilinkWeg | [[xxx|yyy]] }}</nowiki>  
+
| <nowiki>{{ WikilinkWeg | [[Selenia|Kaiserreich Selenia]] }}</nowiki>  
&rarr; {{WikilinkWeg|[[xxx|yyy]]}}
+
&rarr; {{WikilinkWeg|[[Selenia|Kaiserreich Selenia]]}}
 
|-
 
|-
| <nowiki>[[zzz:xxx|yyy]]</nowiki>  
+
| <nowiki>[[:Selenia|Kaiserreich Selenia]]</nowiki>  
&rarr; [[zzz:xxx|yyy]]
+
&rarr; [[:Selenia|Kaiserreich Selenia]]
 
| Ein Wikilink mit Namespace und Alternativtext
 
| Ein Wikilink mit Namespace und Alternativtext
 
&rarr; Linkklammern, Namespace und Alternativtext werden entfernt
 
&rarr; Linkklammern, Namespace und Alternativtext werden entfernt
| <nowiki>{{ WikilinkWeg | [[zzz:xxx|yyy]] }}</nowiki>  
+
| <nowiki>{{ WikilinkWeg | [[:Selenia|Kaiserreich Selenia]] }}</nowiki>  
&rarr; {{WikilinkWeg|[[zzz:xxx|yyy]]}}
+
&rarr; {{WikilinkWeg|[[:Selenia|Kaiserreich Selenia]]}}
 
|-
 
|-
| <nowiki>[[:zzz:xxx]]</nowiki>  
+
| <nowiki>[[:Kategorie:Selenia|Alle Einträge zum Kaiserreich Selenia]]</nowiki>  
&rarr; [[:zzz:xxx]]
+
&rarr; [[:Kategorie:Selenia|Alle Einträge zum Kaiserreich Selenia]]
 
| Ein typischer Kategorie-Link mit zwei Doppelpunkten
 
| Ein typischer Kategorie-Link mit zwei Doppelpunkten
 
&rarr; Alles bis zum hintersten Doppelpunkt wird entfernt (sowie die Linkklammern)
 
&rarr; Alles bis zum hintersten Doppelpunkt wird entfernt (sowie die Linkklammern)
| <nowiki>{{ WikilinkWeg | [[:zzz:xxx]] }}</nowiki>  
+
| <nowiki>{{ WikilinkWeg | [[:Kategorie:Selenia|Alle Einträge zum Kaiserreich Selenia]] }}</nowiki>  
&rarr; {{WikilinkWeg|[[:zzz:xxx]]}}
+
&rarr; {{WikilinkWeg|[[:Kategorie:Selenia|Alle Einträge zum Kaiserreich Selenia]]}}
 
|-
 
|-
| <nowiki>[[xxx/sub]]</nowiki>  
+
| <nowiki>[[Selenia/Karten]]</nowiki>  
&rarr; [[xxx/sub]]
+
&rarr; [[Selenia/Karten]]
 
| Ein Wikilink auf eine Unterseite
 
| Ein Wikilink auf eine Unterseite
 
&rarr; Linkklammern werden entfernt, Haupt-, Unterseite und Slash bleiben stehen
 
&rarr; Linkklammern werden entfernt, Haupt-, Unterseite und Slash bleiben stehen
| <nowiki>{{ WikilinkWeg | [[xxx/sub]] }}</nowiki>  
+
| <nowiki>{{ WikilinkWeg | [[Selenia/Karten]] }}</nowiki>  
&rarr; {{WikilinkWeg|[[xxx/sub]]}}
+
&rarr; {{WikilinkWeg|[[Selenia/Karten]]}}
 
|-
 
|-
 
| <nowiki>[http://www.irgendwo.de/ Irgendwo]</nowiki>  
 
| <nowiki>[http://www.irgendwo.de/ Irgendwo]</nowiki>  

Aktuelle Version vom 23. Januar 2015, 16:06 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
[[Selenia]]

Selenia

Ein simplier Wikilink

→ Die Linkklammern werden entfernt

{{ WikilinkWeg | [[Selenia]] }}

→ Selenia

[[Selenia|Kaiserreich Selenia]]

Kaiserreich Selenia

Ein Wikilink mit Alternativtext

→ Linkklammern und Alternativtext werden entfernt

{{ WikilinkWeg | [[Selenia|Kaiserreich Selenia]] }}

→ Selenia

[[:Selenia|Kaiserreich Selenia]]

Kaiserreich Selenia

Ein Wikilink mit Namespace und Alternativtext

→ Linkklammern, Namespace und Alternativtext werden entfernt

{{ WikilinkWeg | [[:Selenia|Kaiserreich Selenia]] }}

→ Selenia

[[:Kategorie:Selenia|Alle Einträge zum Kaiserreich Selenia]]

Alle Einträge zum Kaiserreich Selenia

Ein typischer Kategorie-Link mit zwei Doppelpunkten

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

{{ WikilinkWeg | [[:Kategorie:Selenia|Alle Einträge zum Kaiserreich Selenia]] }}

→ Selenia

[[Selenia/Karten]]

Selenia/Karten

Ein Wikilink auf eine Unterseite

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

{{ WikilinkWeg | [[Selenia/Karten]] }}

→ Selenia/Karten

[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 }}