Module:Navbox: Difference between revisions
Jump to navigation
Jump to search
(Initial draft navbox module) |
No edit summary |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
function p. | function p.navbox(frame) | ||
local title = frame.args.title | local title = frame.args.title | ||
if title == nil then | if title == nil then |
Revision as of 03:21, 18 January 2021
Documentation for this module may be created at Module:Navbox/doc
local p = {} function p.navbox(frame) local title = frame.args.title if title == nil then error("Missing title") end -- Assign group1, group2, etc to groups local groups = {} local i = 1 while frame.args["group" .. i] ~= nil do local group = { content = frame.args["group" .. i], name = frame.args["groupName" .. i] -- can be nil } table.insert(groups, group) i = i + 1 end return make_box(title, groups) end function make_box(title, groups) local navbox = mw.html.create("table") -- Create title row local title_row = navbox:tag("tr"):addClass("title") title_row:tag("th"):attr("colspan", 2):wikitext(title) -- Create row for each group for _, group in ipairs(groups) do local group_row = navbox:tag("tr"):addClass("group") if group.name == nil then group_row:tag("td"):attr("colspan", "2"):wikitext(group.content) else group_row:tag("th"):wikitext(group.name) group_row:tag("td"):wikitext(group.content) end end return navbox end return p