Module:Inventory slot/Aliases/Table

local p = {} p.table = function local slot = require( Module:Inventory slot ).slot local aliases = mw.loadData( Module:Inventory slot/Aliases ) local keys = {} for i in pairs( aliases ) do		-- Skip the banner aliases (except "Any Banner"), as there are so		-- many of them it causes the table to be excessively long if i == 'Any Banner' or not i:find( ' Banner$' ) and not i:find( '^Matching ' ) then table.insert( keys, i ) end end table.sort( keys ) local tableRows = { ' {| class="wikitable collapsible collapsed"', '! Alias !! class="collapse-button" | Output' }	for _, key in ipairs( keys ) do		local alias = aliases[key] local displayCell = {} for name in mw.text.gsplit( alias, '%s*;%s*' ) do			-- Aliases are disabled in output for accuracy -- (as sub-aliases aren't meant to work) and performance table.insert( displayCell, slot{ name, noalias = true } ) end local aliasText = mw.html.create aliasText:tag( 'code' ):wikitext( key ) if key:find( '^Any ' ) then aliasText:tag( 'br' ):done :tag( 'code' ):wikitext( ( key:gsub( '^Any', 'Matching' ) ) ) end table.insert( tableRows, '|' .. tostring( aliasText ) .. '||' .. table.concat( displayCell ) ) end table.insert( tableRows, '|}' ) return table.concat( tableRows, '\n|-\n' ) end return p