Documentation for this module may be created at Module:TextToZonaiRunes/doc
local p = {} local cargo = mw.ext.cargo local function starts_with(str, start) return str:sub(1, #start) == start end function p.textToZonaiRunes(frame) local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame); local phrase = args[1] local mode = args[2] local tableName = "ZonaiRunes" if mode ~= nil and mode == "dark" then tableName = "ZonaiRunesWhite" end if phrase == nil or phrase == "" then return "" end if (starts_with(phrase, "{{{")) then return "" end local result = "" for i = 1, #phrase do local c = phrase:sub(i,i) if c == " " then result = result .. c else local queryFields = 'cipherCharacter=cipherCharacter,imageName=imageName' local args = { where = string.format('%s.cipherCharacter="%s"', tableName, c), format = 'table', limit = 1 } local items = cargo.query(tableName, queryFields, args) for r = 1, #items do local item = items[r] result = result .. string.format("[[File:%s]]", item.imageName) end end end return result end return p