Documentation for this module may be created at Module:TabsBuilder/doc
local TabsBuilder = {}
TabsBuilder.__index = TabsBuilder
TabsBuilder.__tostring = TabsBuilder.tostring
function TabsBuilder.new()
local obj = setmetatable({
tabs = mw.html.create('div'):addClass('tabs'),
}, TabsBuilder)
return obj
end
function TabsBuilder:css(css)
if css then
self.tabs:css(css)
end
return self
end
function TabsBuilder:addTab(page, text, options)
self.tabs:wikitext(string.format(
'[[%s|%s]]',
page,
text or page
))
return self
end
function TabsBuilder:addSpacer()
self.tabs:wikitext('<span></span>')
return self
end
function TabsBuilder:tostring()
return
mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = 'Template:Tabs/styles.css' }
} ..
tostring(self.tabs)
end
return TabsBuilder