Module:Grid

local p = {} p.cell = function( f ) local args = f.args or f       if f == mw.getCurrentFrame and args[1] == nil then args = f:getParent.args else f = mw.getCurrentFrame end args = require( Module:ProcessArgs ).norm( args ) local item = args[1] local renamed = require( Module:Grid/Renames )[item] if renamed and ((args.mod or ) == 'V' or (args.mod or ) == '') then args[1] = renamed return [=[]=] .. p.cell(args) end local body = mw.html.create( 'span' ):addClass( 'grid' ):css{ ['vertical-align'] = args.align } if args['no-bg'] then body:addClass( 'grid-plain' ) end if args.class then body:addClass( args.class ) end if args.style then body:cssText( args.style ) end if not item then body:tag( 'br' ) return tostring( body ) end local mod = require(Module:Mods).getData(string.upper(args.mod or '')) or { abbr="", mod="", name="", localized="" } local link = args.link or '' if link:lower == 'none' then link = nil else if link == '' then link = item -- If args.dis is set, this means the user doesn't want to disambiguate, -- so we want to invert the input! local doDisambiguation = not args.dis if mod.link and doDisambiguation then link = link .. ' (' .. mod.link .. ')' end end body:wikitext( , link, require( [[Module:Language ).link{}, '|' )       end        local icon = body:tag( 'span' ):css{ ['padding'] = args.padding }        local lang = require(Module:Utility_functions).pageSuffix:sub(2)        local title = args.title or args.tooltiptext or f:callParserFunction("#iconloc", {item, mod.abbr, "name", lang})        if args.appendtitle then        	title = f:callParserFunction("#iconloc", {item, mod.abbr, "name", lang}) .. args.title or args.tooltiptext or         end        if not title or title ==  then        	title = item        elseif title:lower == 'none' then                title =         elseif title:match( '&' ) then                body:attr( 'data-minetip-title', title )                title = title:gsub( '&[0-9a-fk-or]',  )                if title ==  then                        title = item                end        end        ( link and icon or body ):attr{ title = title }        if args['ore-dict-name'] and mod.localized then        	local orenamefixed = args['ore-dict-name']:gsub("/", "\\/")        	if not args.desc or args.desc == '' then        		args.desc = '&7' .. orenamefixed .. '/&o&9' .. mod.localized        	else        		args.desc = args.desc .. '/&7' .. orenamefixed .. '/&o&9' .. mod.localized    		end    	end        body:attr{ ['data-minetip-text'] = args.desc or f:callParserFunction("#iconloc", {item, mod.abbr, "description", lang})}        icon:wikitext( f:callParserFunction( '#icon', { "", item = item, mod = mod.abbr, size = args.size or 32 } ) )        local num = tonumber( args[2] or 1 )        if num and num > 1 and num < 1000 then                local number = icon:tag( 'span' ):addClass( 'grid-number' ):wikitext( num )                if args.numstyle then                        number:cssText( args.numstyle )                end        end        if link then                body:wikitext( ']]' ) end return tostring( body ) end return p