Modul:Properties: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „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 =…“ |
Keine Bearbeitungszusammenfassung |
||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
local function build_property_row(name, value) | local function build_property_row(name, value) | ||
local row = mw.html.create( | local row = mw.html.create() | ||
local dt = mw.html.create("dt") | local dt = mw.html.create("dt") | ||
dt:addClass("properties__name") | dt:addClass("properties__name") | ||
| Zeile 21: | Zeile 20: | ||
local segments = mw.text.split(def, "::") | local segments = mw.text.split(def, "::") | ||
return { | return { | ||
name = segments[ | name = segments[1] or "", | ||
value = segments[ | value = segments[2] or "" | ||
} | } | ||
end | end | ||
| Zeile 30: | Zeile 29: | ||
dl:addClass("properties") | dl:addClass("properties") | ||
for arg in args do | for _, arg in ipairs(args) do | ||
local def = parse_property_definition(arg) | local def = parse_property_definition(arg) | ||
dl:node(build_property_row(def.name, def.value)) | dl:node(build_property_row(def.name, def.value)) | ||
| Zeile 43: | Zeile 42: | ||
return tostring(build(args)) | return tostring(build(args)) | ||
end | end | ||
return M | |||
Aktuelle Version vom 13. Januar 2025, 11:25 Uhr
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()
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[1] or "",
value = segments[2] or ""
}
end
local function build(args)
local dl = mw.html.create("dl")
dl:addClass("properties")
for _, arg in ipairs(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