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