Module:Page tabs

From Andrealphus Games
Revision as of 16:37, 2 October 2021 by Spiritmaster (talk | contribs) (Attemptint to build page_tabs module.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

-- This module implements Script error: No such module "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 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">&#32;</span>') end

return p