Modul:TemplateUtils
Modul TemplateUtils
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