-- This module implements {{Page tabs}}.
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local p = {}
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
local makeTab = p.makeTab
local root = mw.html.create()
root:wikitext(yesno(args.NOTOC) and '__NOTOC__' or nil)
local row = root:tag('div')
:css('background', args.Background or nil)
:addClass('template-page-tabs')
if not args[1] then
args[1] = '{{{1}}}'
end
for i, link in ipairs(args) do
makeTab(row, link, tonumber(args.This) == i,
(tonumber(args.This) == i and args['tab-bg']) or args['tab1-bg'])
end
return tostring(root)
end
function p.makeTab(root, link, selected, tabColor)
root:tag('span')
:addClass('template-page-tabs-tab')
:addClass(selected and 'template-page-tabs-tab--selected' or nil)
:css('background-color', tabColor)
:wikitext(link)
end
return p