Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
WLink
– Modul mit Funktionen für Zeichenketten im Zusammenhang mit Wiki-Verlinkungen (Wikilink-Format und URL-Format).
Funktionen für Vorlagen
Alle Funktionen haben genau einen unbenannten Parameter (sinnvollerweise anzugeben). Dieser ist tolerant gegenüber Leerzeichen vor oder nach dem Inhalt. HTML-Entities sind in der Eingabe möglich und werden im Resultat aufgelöst. In der Regel handelt es sich dabei um eine Zeichenkette, in der geklammerte Verlinkungen erwartet werden; dann wird die erste Klammer weiterverarbeitet.
Der Rückgabewert ist eine leere Zeichenkette („nichts“), wenn der Parameterwert die Erwartung nicht erfüllt. Wenn ein Ergebnis vorhanden oder die Abfragebedingung wahr ist, resultiert mindestens ein Zeichen. Das Ergebnis beginnt oder endet nicht mit Leerzeichen.
- ansiPercent
- Konvertiere URL mittels ANSI-Encoding statt durch UTF-8-Encoding.
- Für manche Server mit Software-Format aus dem letzten Jahrhundert benötigt.
- Optionaler Zusatzparameter
space
– Kodierung der Leerzeichen:space=+
– in Query-Komponenten üblichspace=_
– wie im Wiki- Standard:
%20
- formatURL
- Formatiere eine URL, ein betiteltes Weblink oder schlicht eine Domain.
- [http://example.org/about Homepage] ergibt [http://example.org/about Homepage]
- http://example.org/about ergibt [http://example.org/about example.org/about]
- example.org ergibt [http://example.org/ example.org]
- Textzusätze außerhalb dieser Formate werden durchgereicht.
- getArticleBase
- Ermittle den generischen Seitentitel, ohne Fragment oder Klammerausdruck eines „Klammerlemma“.
- Benutze den momentanen Seitentitel, falls nicht angegeben.
- getBaseTitle
- Ermittle in einer Unterseite das letzte Segment des Seitentitels, ohne Fragment.
- getEscapedTitle
- Bilde einen als Linktitel geeigneten Text.
- Die eckigen Klammern und Pipe
[|]
sowie Quelltext-Zeilenumbrüche werden darstellbar gemacht.[1] - getExtension
- Ermittle die „Namenserweiterung“ von Mediendateien.
- Das Ergebnis wird in Kleinschreibung ohne führenden Punkt dargestellt.
- getFile
- Ermittle den Dateinamen.
- Die Eingabe kann eine geklammerte Verlinkung oder nur ein Dateiname sein. Sie ist nur gültig, wenn sowohl eine zulässige Bezeichnung des Dateinamensraum wie auch eine „Namenserweiterung“ vorhanden ist.
- Das Ergebnis ist der Titel der Datei ohne Namensraum.
- getFragment
- Ermittle das originale (nicht dekodierte) Fragment nach
#
. - Kein Resultat, wenn Fragment leer oder nicht vorhanden.
- getLanguage
- Ermittle den Sprachbezeichner des Projekts.
- getLinktextProblem
- Welches Problem hat dieser als Linktext vorgesehene Text?
]
→ eckige Klammern;\n
→ Zeilenumbruch;<wiki>
→ unerlaubte HTML-Elemente; ISBN PMID RFC- getNamespace
- Ermittle die Nummer des Namensraums.
- getNamespaced
- Generiere einen Seitennamen aus Namensraumbezeichner und Link oder Seitentitel oder Seitenname mit Namensraum.
- Namensraumbezeichner beliebiger Art
- Seitentitel oder Seitenname mit Namensraum oder Wikilink
- getPlain
- Löse alle Verlinkungen im Text auf und ersetze durch die Linktitel.
- getProject
- Ermittle den Projektbezeichner (nur innerhalb der Wikifarm) in empfehlenswerter Kurzform.
- getTalkPage
- Ermittle die zugehörige Diskussionsseite, falls es eine geben kann, bzw. diese Diskussionsseite selbst.
- getTarget
- Ermittle das erste Linkziel (Wikilink oder URL).
- getTargetPage
- Ermittle den Seitennamen zur ersten Verlinkung (Seitenname oder URL der Seite)
- Identisch mit getTarget, falls kein Fragment.
- getTitle
- Ermittle den ersten Linktitel (Wikilink oder URL), oder sonst das Linkziel eines Wikilinks.
- getWeblink
- Generiere formatiertes Weblink (in eckigen Klammern) aus einer Ressourcen-URL
- getWikilink
- Generiere robustes standardisiertes Wikilink (in eckigen Klammern)
- Linkziel, Seitenname, Text mit einem Wikilink
- abweichender Linktext (optional)
- isBracketedLink
- Enthält das eine geklammerte Verlinkung?
- isBracketedURL
- Enthält das eine geklammerte URL?
- isCategorization
- Enthält das eine wirksame Kategorisierung?
- isExternalLink
- Enthält das eine URL?
- isInterlanguage
- Enthält das ein Interlanguage?
- isInterwiki
- Enthält das ein Interwiki-Link innerhalb der Wikifarm, einschließlich Interlanguage?
- isMedia
- Enthält das eine Medieneinbindung?
- isTalkPage
- Enthält das eine Diskussionsseite?
- isTitledLink
- Enthält das eine betitelte Verlinkung?
- isValidLink
- Enthält das eine Verlinkung?
- isValidLinktext
- Ist das als Linktext geeignet?
- isWikilink
- Enthält das ein Wikilink?
- pageLink
- Robustes Ziel für ein Wikilink auf eine Seite; beginnt nicht mit
*;:#
- failsafe
- Versionsbezeichnung (lokal):
2022-05-09
- Optionaler Zusatzparameter:
1
– Mindestversionsbezeichnung oderwikidata
oder~
{{#invoke:WLink|failsafe}}
ergibt2022-05-09
- Mit Angabe eines Parameters als Datum im ISO-Format wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.
{{#invoke:WLink|failsafe|2001-01-01}}
ergibt: »2022-05-09
«{{#invoke:WLink|failsafe|2099-01-01}}
ergibt: »« – leer, falls Mindestversionsbezeichnung nicht erfüllt
- Ist dieser Zusatzparameter das Schlüsselwort
wikidata
, so ist der Wert die auf Wikidata registrierte Versionsbezeichnung (2022-05-09
) oder lokal, falls dort keine gefunden.- Ist der Zusatzparameter das Zeichen
~
, so ist das Ergebnis leer, falls Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung besteht ().
- Ist der Zusatzparameter das Zeichen
- Rückgabewert:
- Leer, falls Mindestversionsbezeichnung nicht erfüllt, oder Übereinstimmung mit Wikidata
- Versionsbezeichnung (auf Wikidata registriert:
2022-05-09
) beiwikidata
, oder lokal falls dort keine gefunden, bzw. leer wenn synchronisiert
Beispiele (Testseite)
Eine Testseite illustriert praktische Beispiele.
Anmerkungen
- ↑ Ein ähnlicher Effekt ließe sich auch durch Einschluss des Linktitels in
<nowiki>
erreichen; dann wären allerdings Kursiv- und Fettschrift sowie HTML-Elemente nicht mehr funktional.
Allgemeine Hinweise zur Einbindung von Modulen
Eine Einbindung erfolgt jeweils im Format
{{#invoke: WLink |
Funktionsname | Wert1 | Wert2 | NameX=Wert … }}
Die Parameter können wie bei Vorlagen benannt oder unbenannt sein; deren Regeln gelten analog.
Wenn unbekannte Zeichenketten von außen kommen (als Vorlagenparameter), sollte immer mit der Form 1=
Wert gearbeitet werden.
Zu allgemeinen Problemen beachte die Abhilfen wie bei Vorlagen.
Wenn in einer Vorlage ein Modul verwendet wird, sollte auch immer die Vorlage:Dokumentation/Lua in der Dokumentationsseite eingebunden werden.
- Das gibt einem Programmierer Aufschluss, dass ein Lua-Modul benutzt wird, welche/s und ggf. welche Einzelfunktion daraus, und verlinkt auf die Dokumentation.
- Die Modul-Dokumentationen bekommen ein Link, in welchen Vorlagen sie eingesetzt werden, und wo bei eventuellen Funktionsänderungen Anpassungen erforderlich werden.
- Die Vorlage wird zur Übersicht kategorisiert in Kategorie:Vorlage:mit Lua-Programmierung.
Zu weiteren Informationen siehe Hilfe:Lua.
Bei Problemen wende dich bitte an die Vorlagen-Werkstatt, in schweren Fällen hilft auch die Lua-Werkstatt.