Modul:TemplateUtils
Erscheinungsbild
Modulbeschreibung
Modul mit Utility-Funktionen, die vor allem für Vorlagenporgrammierung geeignet sind.
Funktionen
current_project
unstripNoWiki
Extracts the text behind a <nowiki> tag.
Parameter
code– Code mit nowiki strip markers
expand
Expandiert Wiki-Code, welcher über den Parameter code übergeben wurde.
Parameter
code– der zu expandierende Code
demo
Expandiert Wiki-Code wie die Methode expand(). Man Ende werden aber Kategorien aus der Expandierung entfernt. Dies ist zum Beispiel hilfreich, wenn Vorlagen demonstriert werden.
Parameter
code– der zu expandierende Code
random
Gibt einen zufälligen Inhalt zurück
- Diese Dokumentation wurde mithilfe von Modul:LuaDokumentation erstellt und befindet sich im Quelltext.
- Liste der Unterseiten
--- Modul mit Utility-Funktionen, die vor allem für Vorlagenporgrammierung geeignet sind.
local TemplateUtils = {}
local utils = require("Modul:Utils")
--- Gibt das aktuelle Projekt zurück.
function TemplateUtils.current_project(frame)
local title = mw.title.getCurrentTitle().text
return mw.text.split(title, "[:/]")[1]
end
--- Extracts the text behind a <nowiki><nowiki></nowiki> tag.
--
-- @param code Code mit nowiki strip markers
function TemplateUtils.unstripNoWiki(frame)
return utils.unstripNoWiki(frame.args.code or "")
end
--- Expandiert Wiki-Code, welcher über den Parameter <code>code</code> übergeben wurde.
--
-- @param code der zu expandierende Code
function TemplateUtils.expand(frame)
return frame:preprocess(utils.unstripNoWiki(frame.args.code or ""))
end
--- Expandiert Wiki-Code wie die Methode <code>expand()</code>. Man Ende werden aber Kategorien aus der Expandierung entfernt. Dies ist zum Beispiel hilfreich, wenn Vorlagen demonstriert werden.
--
-- @param code der zu expandierende Code
function TemplateUtils.demo(frame)
-- expand code
local result = TemplateUtils.expand(frame)
-- Kategorien entfernen
result = result:gsub("%[%[Kategorie:[^%]]+%]%]", "")
return result
end
--- Gibt einen zufälligen Inhalt zurück
--
function TemplateUtils.random(frame)
math.randomseed(os.time() + mw.title.getCurrentTitle().id)
local list = utils.to_table(frame)
return list[math.random(#list)]
end
return TemplateUtils