Module:Navbox top and bottom: Difference between revisions
en>Frietjes (start module for wrapping tables inside of navboxes) |
en>Frietjes No edit summary |
||
Line 25: | Line 25: | ||
end | end | ||
function p.top(frame) | function p.top(frame) | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
local parts = mw.text.split(build_navbox(args, '<ADD LIST HERE>'), '<ADD LIST HERE>') | local parts = mw.text.split(build_navbox(args, '<ADD LIST HERE>'), '<ADD LIST HERE>') | ||
Line 31: | Line 31: | ||
end | end | ||
function p.bottom(frame) | function p.bottom(frame) | ||
local args = | local args = frame:getParent().args | ||
local parts = mw.text.split(build_navbox(args, '<ADD LIST HERE>'), '<ADD LIST HERE>') | local parts = mw.text.split(build_navbox(args, '<ADD LIST HERE>'), '<ADD LIST HERE>') | ||
return parts[2] | return parts[2] |
Revision as of 14:22, 3 November 2021
Documentation for this module may be created at Module:Navbox top and bottom/doc
-- This implements {{navbox top}} and {{navbox bottom}}
local p = {}
local function build_navbox(parentArgs, list)
local args = {}
for argName, value in pairs(parentArgs) do
if value ~= '' then
if type(argName) == 'string' then
-- shift list numbers by 1
if argName:find('^list[%d]+') then
local k = mw.ustring.gsub(argName,'^list([^%d]+)', '%1')
argName = mw.ustring.gsub(argName,'^list[%d]+', 'list' .. (tonumber(k) + 1))
end
args[argName] = value
end
end
end
args['list1padding'] = '0'
args['list1'] = list
-- Note Navbox.navbox() has a kludge to order the parent frame's args
-- into a specific order. For now, this is omitted from this module.
local Navbox = require('Module:Navbox')
return Navbox._navbox(args)
end
function p.top(frame)
local args = frame:getParent().args
local parts = mw.text.split(build_navbox(args, '<ADD LIST HERE>'), '<ADD LIST HERE>')
return parts[1]
end
function p.bottom(frame)
local args = frame:getParent().args
local parts = mw.text.split(build_navbox(args, '<ADD LIST HERE>'), '<ADD LIST HERE>')
return parts[2]
end
return p