No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local cargo = mw.ext.cargo | local cargo = mw.ext.cargo | ||
local function starts_with(str, start) | |||
return str:sub(1, #start) == start | |||
end | |||
function p.textToZonaiRunes(frame) | function p.textToZonaiRunes(frame) | ||
Line 7: | Line 11: | ||
local phrase = args[1] | local phrase = args[1] | ||
if ( | if (starts_with(phrase, "{{{")) then | ||
return "" | return "" | ||
end | end |
Revision as of 11:34, 28 December 2023
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] 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('ZonaiRunes.cipherCharacter="%s"', c), format = 'table', limit = 1 } local items = cargo.query("ZonaiRunes", 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