Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
PageUtil
– Modul mit Hilfsfunktionen im Zusammenhang mit ganzen Wiki-Seiten.
Funktionen für Vorlagen
Bearbeiten- getCategories
- In welche Kategorien ist diese Seite eingeordnet?
- Parameter (optional):
- 1
- Seitenname
- Vorgabe: aktuelle Seite
- Das Ergebnis ist eine durch
|
getrennte Liste von Kategorie-Titeln.- „Wikipedia:Lua/Modul/Dokumentation“
- getProtection
- Ist diese Seite geschützt?
- Parameter (alle optional):
- 1
- Seitenname
- Vorgabe: aktuelle Seite
- 2
- Aktion
- Vorgabe:
edit
- Sonst:
move
/create
/upload
- Das Ergebnis ist eines von: leer,
½
,¾
,1
- isRedirect
- Ist dies eine Weiterleitungsseite?
- Das Ergebnis ist leer, wenn auf regulärer Seite eingebunden; auf einer Weiterleitungsseite eine nicht-leere Zeichenkette.
- merge
- Seiten verschmelzen.
- Das Ergebnis ist eine Zeichenkette, bei der die einzelnen Inhalte ohne Zeilenumbruch aneinandergereiht werden.
- Bis zu 200 Seiten und Abschnitte können eingebunden werden; siehe Hilfe:Vorlagenbeschränkungen #expensive.
- Parameter (alle optional):
- 1
- Erstes Textelement.
- Eines der folgenden Formate:
[[
Seitenname]]
- Gesamte Seite einbinden.
- Verlinkungen auf diese Seite werden durch innere Links ersetzt.
#lst: [[
Seitenname]]
Marke#lstx: [[
Seitenname]]
Marke- Abschnitt einer Seite einbinden.
- Weil nicht bekannt ist, welche Fragmente angesteuert werden können, werden hier keine inneren Links für diese Seite umgewandelt.
- Sonstiger beliebiger Text.
- Zeilenumbrüche können sicher erzeugt werden mittels folgender Konstruktion:
| <nowiki />
=== Schlussbemerkzung ===
<nowiki />
- 2 3 4 5 6 7 8 9 …
- Weitere, beliebig viele Textelemente.
- Die Textelemente werden in numerischer Folge des Parameternamens eingebunden.
- 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):
Wert | Ergebnis | aktuell |
---|---|---|
nichtsfalse
|
lokale Version | »2024-08-20« |
Mindestversion | Mindestversionsbezeichnung Datum im ISO-Format Es wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.
|
|
wikidata
|
Versionsbezeichnung der globalen Mutter (d:Q89064539)
|
»2024-08-20« |
item
|
ID des Wikidata-Items
|
»Q89064539« |
~
|
Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung
|
»« |
@
|
Ist die aktuelle (Modul-)Seite richtig mit Wikidata verknüpft?
|
|
Der Rückgabewert ist in der Vorlagenprogrammierung leer und per Lua false ; andernfalls die angegebene Zeichenkette.
|
Funktionen für Lua-Module
BearbeitenDie oben dokumentierten speziellen Funktionen können auch über require()
in andere Module eingebunden werden:
local lucky, PageUtil = pcall( require, "Module:PageUtil" )
if type( PageUtil ) == "table" then
PageUtil = PageUtil()
else
-- Fehlerfall; PageUtil enthält Fehlermeldung
return "<span class=\"error\">" .. PageUtil .. "</span>"
end
Danach steht zur Verfügung:
- PageUtil.getProtection(source,stage)
-
- source – (optional) string oder mw.title für die Seite
- stage – (optional) string mit Aktion
- Rückgabe ist number, eine von: 0, 0.5, 0.75, 1
- PageUtil.merge(args, frame)
-
- args – table mit den Parametern wie für Vorlagen
- frame – object oder
nil
- PageUtil.failsafe(since)
Direkt verfügbar wären:
mw.title.getCurrentTitle().categories
mw.title.getCurrentTitle().isRedirect
Verwendung
BearbeitenAbhängigkeiten
BearbeitenKeine.