Module:Tabber

local p = {}

--- Helper function to get Tabber length --- @param table --- @return int local function getTabberLength( t ) local length = 0 for k, _ in next, t do   	if string.find( k, 'label' ) == 1 then length = length + 1 end end return length end

--- Render Tabber --- @param table data { label{n}, content{n} } --- @return string wikitext of Tabber function p.renderTabber( data ) local tabberContent = {}

for i = 1, getTabberLength( data ) do local label = data[ 'label' .. i ] local content = data[ 'content' .. i ]

if label ~= nil and label ~=  and content ~= nil and content ~=  then table.insert( tabberContent, table.concat( { '|-|', label, '=', content } ) ) end end if tabberContent == {} then return '' end

return mw.getCurrentFrame:extensionTag{ name = 'tabber', content = table.concat( tabberContent ) } end

return p