No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 10: | Line 10: | ||
local args = getArgs(frame); | local args = getArgs(frame); | ||
local phrase = args[1] | 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 | if phrase == nil or phrase == "" then | ||
return "" | return "" | ||
Line 26: | Line 31: | ||
local queryFields = 'cipherCharacter=cipherCharacter,imageName=imageName' | local queryFields = 'cipherCharacter=cipherCharacter,imageName=imageName' | ||
local args = { | local args = { | ||
where = string.format(' | where = string.format('%s.cipherCharacter="%s"', tableName, c), | ||
format = 'table', | format = 'table', | ||
limit = 1 | limit = 1 | ||
} | } | ||
local items = cargo.query( | local items = cargo.query(tableName, queryFields, args) | ||
for r = 1, #items do | for r = 1, #items do | ||
local item = items[r] | local item = items[r] | ||
result = result .. string.format("[[File:%s]]", item.imageName) | result = result .. string.format("[[File:%s|75px]]", item.imageName) | ||
end | end | ||
end | end |
Latest revision as of 07:59, 12 January 2024
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