2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module:FGOCards

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模块文档  [创建] [刷新]
-- Originally designed and coded by Maya (U:MJH)

local getArgs = require("Module:Arguments").getArgs

local cardMap = {
    Q = 'Quick',
    A = 'Arts',
    B = 'Buster'
}

local stringToTable = function (str)
    local rettbl = {}
    mw.ustring.gsub(str, '.',
    function (c)
        table.insert(rettbl, c)
    end)
    return rettbl
end

local tableToCards = function (tbl, size)
    local retstr = ''
    for i = 1, #tbl do
        retstr = retstr .. [=[[[File:]=] ..
        (cardMap[tbl[i]] or tbl[i]) .. '.png|' ..
        (size or 40) .. [=[px|link=]]]=]
    end
    return retstr
end

local FGOCards = {
    main = function (frame)
        local args = getArgs(frame)
        return tableToCards(stringToTable(args[1]), args[2])
    end,

    stringToCards = function (str, size)
        return tableToCards(stringToTable(str), size)
    end,

    tableToCards = tableToCards
}

return FGOCards