Module:OreDict

local p = {}

p.entries = 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 noAnim = args["no-anim"] -- copy of the "no-anim" arg, as we will erase it later local categories = "" local entry if args[2] then if tonumber(args[2], 10) ~= nil then entry = args[1] categories = categories .. [=[]=]		else entry = args[1] .. ":" .. args[2] args[1] = entry if not args.stack then table.remove(args, 2) end end else entry = args[1] end if args.stack then args[2] = args.stack end

-- if no entry was provided, return a blank cell if not entry then return require(Module:Grid).cell({}) end args["no-anim"] = nil args["dis"] = "false" -- Disables disambiguation if args.shuffle then args.shuffle = "1" end args.tag = "1" local output = f:callParserFunction("#dict", args)

-- wrap the output in span tags if we should be animated -- animation is disabled by either the parameter or a variable passed by Template:N if not noAnim and f:callParserFunction("#var", "n-animated") == "" then output = tostring(mw.html.create('span')			:addClass('animated')			:addClass('random')			:wikitext(output)) end

return categories .. output end

return p