Modul:Properties
Die Dokumentation für dieses Modul kann unter Modul:Properties/Doku erstellt werden
local M = {}
local function build_property_row(name, value)
local row = mw.html.create("div")
row:addClass("properties__row")
local dt = mw.html.create("dt")
dt:addClass("properties__name")
dt:wikitext(name)
row:node(dt)
local dd = mw.html.create("dd")
dd:addClass("properties__value")
dd:wikitext(value)
row:node(dd)
return row
end
local function parse_property_definition(def)
local segments = mw.text.split(def, "::")
return {
name = segments[0] or "",
value = segments[1] or ""
}
end
local function build(args)
local dl = mw.html.create("dl")
dl:addClass("properties")
for arg in args do
local def = parse_property_definition(arg)
dl:node(build_property_row(def.name, def.value))
end
return dl
end
function M.render(frame)
local parentFrame = frame:getParent() or {}
local args = parentFrame.args or {}
return tostring(build(args))
end
return M