Modulus:TemplateUtils
Appearance
Documentation for this module may be created at Modulus:TemplateUtils/doc
--- Modul mit Utility-Funktionen, die vor allem für Vorlagenporgrammierung geeignet sind.
local TemplateUtils = {}
local utils = require("Module: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())
local list = utils.to_table(frame)
return list[math.random(#list)]
end
return TemplateUtils