Usage
{{#invoke:spell|list|domain=}}
{{#invoke:spell|list|category=}}
local p = {} function p.getDomainList(frame) local json = frame.args[1] json = firstToUpper(json) json = 'Module:Spell/Domain/' .. json .. '.json' local spells = mw.loadJsonData(json) local out = {} for i,v in pairs(spells) do table.insert(out, spells[v]) end return table.concat(out, "<br>") end function firstToUpper(str) return (str:gsub("^%l", string.upper)) end return p