Module:Inventory slot/Aliases/Table: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
But I think we can allow "Any Banner". |
||
Line 5: | Line 5: | ||
local keys = {} | local keys = {} | ||
for i | for i in pairs( aliases ) do | ||
-- Skip the banner aliases, as there are so many of them it | -- Skip the banner aliases (except "Any Banner"), as there are so many of them it | ||
-- page to be too slow. Maybe once we use sprites it will be fast enough. | -- causes the page to be too slow. Maybe once we use sprites it will be fast enough. | ||
if not i:find( 'Banner$' ) then | if i == 'Any Banner' or not i:find( 'Banner$' ) then | ||
table.insert( keys, i ) | table.insert( keys, i ) | ||
end | end |
Revision as of 00:19, 13 February 2015
Documentation for this module may be created at Module:Inventory slot/Aliases/Table/doc
local p = {}
p.table = function()
local grid = require( [[Module:Grid]] ).cell
local aliases = mw.loadData( [[Module:Grid/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 page to be too slow. Maybe once we use sprites it will be fast enough.
if i == 'Any Banner' or not i:find( 'Banner$' ) 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, grid{ name, noalias = true } )
end
table.insert( tableRows, '|<code>' .. key .. '</code>||' .. table.concat( displayCell ) )
end
table.insert( tableRows, '|}' )
return table.concat( tableRows, '\n|-\n' )
end
return p