TemplUtl – Bibliotheksmodul mit Funktionen für das Arbeiten mit Vorlageneinbindungen.
Funktionen für Vorlagen
- facets
- Zerlegung in suchbare „Wörter“ (Gruppen nur aus Buchstaben und Ziffern aller Schriftsysteme; getrennt durch Sonderzeichen)
- Parameter:
- 1
- zu analysierender Text
- decode
- (optional) Vorgabe: zunächst HTML-Entities dekodieren
% – Text zunächst URL-dekodieren
- Ergebnis: Text in Wörtern
- faculty
- Boolesche Auswahl (ja/nein) für Parameterwerte
- Parameter:
- 1
- zu analysierender Parameterwert
- Leerzeichen werden ignoriert, Groß- und Kleinschreibung egal; zwei Interpretationen:
- leer,
0, false, n, no, off, nein, 0000, -
1, true, y, yes, on, ja, j; 0101 (boolesche Schalter dürfen sich wiederholen)
- 2
- Verhalten bei nicht erkanntem Wert 1
- (optional)
1 – „ja“ (Vorgabe)
0 – „nein“
- – „nein“ (Wert testen)
- Ergebnis:
- leer für „nein“
- nicht leer (
1) für „ja“
- falls 2=- und Wert nicht erkannt
- Testseite mit Beispielergebnissen
- failure
- Formatiere Fehlermeldung; in der Bearbeitungsvorschau des Quelltextes im Seitenkopf wiederholen und verlinken
- Parameter:
- 1
- Fehlermeldung
- 2
- Sichtbarkeit der Fehlermeldung in der Darstellung
- (optional)
0 – „unsichtbar“ (Vorgabe)
1 – „sichtbar“
- Ergebnis: HTML-Element
- fair
- Text dekodieren
- Parameter:
- 1
- zu dekodierender Text
- decode
- (optional) Vorgabe: HTML-Entities
% – Text URL-dekodieren
- Ergebnis: dekodierter Text
- fake
- Simulation einer Vorlageneinbindung durch blinde Einbindung, dadurch verschwindet diese Vorlage von Spezial:Unbenutzte Vorlagen (insbesondere bei substituierenden Vorlagen sowie für alle Hilfsseiten im Vorlagen-Namensraum, wie Test-, Wartungs-, Editnotice-, Preload- und sonstige Unterseiten, die regulär niemals eingebunden werden).
- Parameter:
- 1
- Titel/Name der Vorlage (nicht aktuelle Seite – schlägt in Kategorie:Wikipedia:Seite mit Vorlagenschleife auf)
- fakes
- Wie fake für eine ganze Serie
- Parameter:
- 1 2 3 4 5 6 7 8 9 …
- Titel/Name/Namensteil je einer Vorlage, beliebig viele
- prefix
- (optional) Wird dem Namen jeder Vorlage vorangestellt
- list
- (optional)
1 – Verlinkung jedes Eintrags aktivieren; als Aufzählung
- firstbreak
- Wenn das erste Zeichen des Textes (nach Trimmung) ein Aufzählungszeichen
*#;: oder Tabellenbeginn/-ende usw. ist, das erst auf einer neuen Zeile wirksam wird, dann stelle einen Zeilenumbruch voran.
- Parameter:
- 1
- Wikitext
- Ergebnis: getrimmter Text, ggf. mit vorangestelltem Zeilenumbruch
- from
- Stelle den Namen der unmittelbar umgebenden Seite (Vorlage) anklickbar umgeben von nicht wirksamen doppelten geschweiften Klammern dar.
- isRedirect
- Erfolgt diese Einbindung auf einer Seite, die eine Weiterleitung ist?
- Ergebnis: „nicht leer“, wenn Weiterleitung; leer ansonsten
- isTempAccount
- VERALTET –
isTemp@AccountUtl verwenden
- Ist dies ein temporäres Benutzerkonto?
- (optional)
1 – „temporäres Benutzerkonto“; oder abgeleitet vom Seitennamen
- leer – Anmeldename oder IP oder ungültig
- nowiki
- Ersetze alle syntaxwirksamen Zeichenketten durch HTML-Entities. Das sind:
- Alle Vorkommen: '"', '&', "'", '<', '=', '>', '[', ']', '{', '|', '}'
- Beginn von 1 oder unmittelbar nach einem Zeilenumbruch: '#', '*', ':', ';'
- Die „Magischen Wörter“ "//:", "ISBN ", "PMID ", "RFC "
- Parameter:
- 1
- Wikitext
- Ergebnis: getrimmter Text, ggf. mit HTML-Entity
- nowiki1
- Wenn das erste Zeichen des Textes (nach Trimmung) ein Aufzählungszeichen
*#;: ist, das als solches wirksam würde, dann stelle es als HTML-Entity dar.
- Parameter:
- 1
- Wikitext
- Ergebnis: getrimmter Text, ggf. mit HTML-Entity
- siteID
- Datenbankname
dewiki
- failsafe
Die Failsafe-Schnittstelle erlaubt den damit ausgerüsteten Modulen in globaler Verteilung
- sicherzustellen, dass eine von einer Vorlage oder einem Modul benötigte Funktion in der lokalen Kopie eines Bibliotheksmoduls vorhanden ist, und ggf. auch in einer erforderlichen Mindestversion;
- die globale Aktualisierung und Verknüpfung von Modulen über Wikidata zu verwalten.
Die Failsafe-Schnittstelle liegt sowohl auf Ebene der Vorlagen wie auch in direktem Lua-Zugriff vor.
Die Funktionen sind im Einzelnen (nicht alle werden bereits überall in vollem Umfang unterstützt):
Parameter
| Wert
|
Ergebnis
|
aktuell
|
nichts false
|
lokale Version
|
»2026-07-01«
|
| Mindestversion
|
Mindestversionsbezeichnung Datum im ISO-Format
Es wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.
- leer, falls Mindestversion nicht erfüllt
|
- 2001-01-01 → »2026-07-01«
- 2099-01-01 → »«
|
wikidata
|
Versionsbezeichnung der globalen Mutter (d:Q52364930)
- Versionsbezeichnung auf Wikidata
- lokal, falls dort keine gefunden
|
»2026-04-28«
|
item
|
ID des Wikidata-Items
- leer, falls nicht definiert
|
»Q52364930«
|
~
|
Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung
- leer, falls aktuell
- Versionsbezeichnung auf Wikidata, falls ungleich
|
»2026-04-28«
|
@
|
Ist die aktuelle (Modul-)Seite richtig mit Wikidata verknüpft?
- leer, falls mit dem richtigen Item verknüpft
- Item-ID, falls nicht
|
|
Der Rückgabewert ist in der Vorlagenprogrammierung leer und per Lua false; andernfalls die angegebene Zeichenkette.
|
Allgemeine Hinweise zur Einbindung von Modulen
Eine Einbindung erfolgt jeweils im Format
{{#invoke: TemplUtl | 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.