Este módulo depende dos seguintes outros módulos: |
This module implements {{page tabs}}. Please see the template page for documentation.
A documentação acima é transcluída de Módulo:Page tabs/doc. (editar | histórico) Editores podem experimentar nas páginas de teste (criar | espelhar) e de exemplos para testes (criar) deste módulo. Subpáginas deste módulo. |
-- This module implements {{Page tabs}}.
local getArgs = require('Módulo:Arguments').getArgs
local yesno = require('Módulo: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 '#f8fcff')
:addClass('template-page-tabs')
if not args[1] then
args[1] = '{{{1}}}'
end
for i, link in ipairs(args) do
makeTab(row, link, args, i)
end
return tostring(root)
end
function p.makeTab(root, link, args, i)
local thisPage = (args.This == 'auto' and link:find('[[' .. mw.title.getCurrentTitle().prefixedText .. '|', 1, true)) or tonumber(args.This) == i
root:tag('span')
:css('background-color', thisPage and (args['tab-bg'] or 'white') or (args['tab1-bg'] or '#cee0f2'))
:cssText(thisPage and 'border-bottom:0;font-weight:bold' or 'font-size:95%')
:wikitext(link)
:done()
:wikitext('<span class="spacer"> </span>')
end
return p