Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Module documentation[view][edit][history][purge]
This documentation is transcluded from Module:Pagetabs/doc. Changes can be proposed in the talk page.
Function list
L 7 — p.pagetabs
L 12 — p._pagetabs

local mArguments --initialize lazily
local getArgNums = require('Module:Common').getArgNums
local p = {}


--Implements {{pagetabs}} from the frame
function p.pagetabs(frame)
	mArguments = require('Module:Arguments')
	return p._pagetabs(mArguments.getArgs(frame), frame)
end

function p._pagetabs(args, frame)
	if not args then
		return 'Missing arguments'
	end

	local html = mw.html.create('div'):addClass('template-pagetabs')
	html:addClass('citizen-overflow')

	local tabs = {}
	for i, _ in ipairs(getArgNums('page', args)) do
		local num = tostring(i)
		local page = args['page' .. num ]

		if not page then return end

		local text = args['text' .. num ] or page

		local tab = string.format('[[%s|%s]]', page, text)
		table.insert(tabs, tab)
	end

	html:wikitext(table.concat(tabs))

	return frame:extensionTag {
		name = 'templatestyles', args = { src = 'Module:Pagetabs/styles.css' }
	} .. tostring(html)
end

return p