WIKI公告栏
欢迎各位引航者访问卡拉彼丘WIKI,由于游客访问页面会有一定的页面旧版缓存,建议你登陆B站账号进行浏览,如果您觉得本WIKI有帮助到你,欢迎推荐给身边的引航者。
全站通知:

模块:CharaQuote

来自卡拉彼丘WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
进攻
全速进攻!
全速前進!
进攻
全速进攻!
全速前進!
进攻
全速进攻!
全速前進!
{{#invoke:CharaQuote|main
| 进攻 | 奥黛丽语音-进攻CN.mp3 | 全速进攻!| 奥黛丽语音-进攻JP.mp3 | 全速前進!
| 进攻 | 奥黛丽语音-进攻CN.mp3 | 全速进攻!| 奥黛丽语音-进攻JP.mp3 | 全速前進!
| 进攻 | 奥黛丽语音-进攻CN.mp3 | 全速进攻!| 奥黛丽语音-进攻JP.mp3 | 全速前進!
}}

local getArgs = require("Module:Arguments").getArgs
local p = {}

function p.main(frame)
    local args = getArgs(frame, {
        removeBlanks = false
    })
    local noJP = false
    local buffer = {}
    local tableClass = ""
    local cntdstyle = 'style="background-color: rgba(230,230,230,.3)"'
    local jptdstyle = 'style="background-color: rgba(235,248,255,.5)"'

    -- 遍历检查noJP等参数
    for k, _ in pairs(args) do
        if (k == "noJP") then
            noJP = true
            tableClass = " nojp"
        end
    end

    table.insert(buffer, '{| class="voice-table' .. tableClass .. '"')
    local i = 0
    -- 遍历其他数字参数,生成表格
    for key, value in ipairs(args) do
        i = i + 1
        if noJP then
            -- 当提供noJP参数时,每三个参数形成一组行和单元格
            if (i % 3 == 1) then
                table.insert(buffer, "|-")
                table.insert(buffer, "| rowspan=1 |" .. value)
            elseif (i % 3 == 2) then
                table.insert(buffer, "| " .. cntdstyle .. "|" .. frame:expandTemplate {title = "Audio", args = {value}})
            elseif (i % 3 == 0) then
                table.insert(buffer, "| " .. cntdstyle .. "|" .. value)
            end
        else
            -- 默认情况,每五个参数形成一组行和单元格
            if (i % 5 == 1) then
                table.insert(buffer, "|-")
                table.insert(buffer, "| rowspan=2 |" .. value)
            elseif (i % 5 == 2) then
                table.insert(buffer, "| " .. cntdstyle .. "|" .. frame:expandTemplate {title = "Audio", args = {value}})
            elseif (i % 5 == 3) then
                table.insert(buffer, "| " .. cntdstyle .. "|" .. value)
            elseif (i % 5 == 4) then
                table.insert(buffer, "|-")
                table.insert(buffer, "| " .. jptdstyle .. "|" .. (value == "" and "" or frame:expandTemplate {title = "Audio", args = {value}}))
            elseif (i % 5 == 0) then
            	table.insert(buffer, "| " .. jptdstyle .. "|" .. (value == "" and "" or '<span lang="ja">' .. value .. "</span>"))
            end
        end
    end
    table.insert(buffer, "|}")
    return table.concat(buffer, "\n")
end

return p