Module:Navbox
Jump to navigation
Jump to search
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"):addClass("navbox") -- 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") local content = "\n" .. group.content .. "\n" if group.name == nil then group_row:tag("td"):attr("colspan", "2"):wikitext(content) else group_row:tag("th"):wikitext(group.name) group_row:tag("td"):wikitext(content) end end return navbox end return p