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|75px]]", item.imageName)
end
end
end
return result
end
return p