Module:Sprite grid

local p = {} function p.grid( f ) local args = f:getParent.args local rows = {} local sprite = require( 'Module:Sprite' ).link local size = 16 * ( args.scale or 1 ) local categories = {} for k, v in ipairs( args ) do		local row = {} for v2 in mw.text.gsplit( v:gsub( '^%s-\n+',  ):gsub( '\n+%s-$',  ),  ) do			if mw.text.trim( v2 ) ==  or args[v2] == 'air' then table.insert( row, ' style="width:' .. size .. 'px;height:' .. size .. 'px" | ' ) else local image, spriteCat = sprite{ settings = 'BlockSprite', args[v2], '', scale = args.scale } table.insert( row, image ) table.insert( categories, spriteCat ) end end table.insert( rows, table.concat( row, ' || ' ) ) end return '{| cellspacing="0" cellpadding="0" style="line-height:0"\n| ' .. table.concat( rows, '\n|-\n| ' ) .. '\n|}' .. table.concat( categories ) end return p