Module:Page tabs/sandbox
Jump to navigation
Jump to search
| File:Edit In Sandbox Icon - Color.svg | This is the module sandbox page for Module:Page tabs (diff). |
File:Test Template Info-Icon - Version (2).svg Module documentation[view] [edit] [history] [purge]
| This Lua module is used on approximately 3,900 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
| This module is rated as ready for general use. It has reached a mature state, is considered relatively stable and bug-free, and may be used wherever appropriate. It can be mentioned on help pages and other Wikipedia resources as an option for new users. To minimise server load and avoid disruptive output, improvements should be developed through sandbox testing rather than repeated trial-and-error editing. |
| File:Lua-Logo.svg | This module depends on the following other modules: |
This module implements {{page tabs}}. Please see the template page for documentation.
-- 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