Module:历史更改

来自植物大战僵尸百科
跳转到导航 跳转到搜索
{{🛈}}模組文檔[查看] [編輯] [歷史] [清除缓存]此文档嵌入自Module:历史更改/文档

本模組用於{{历史更改}},用法見其文檔。

模組內容

changeLog

本模組的返回值。

changeLog.main(frame)
從框架對象frame接收參數並傳遞至changeLog._main,返回其結果。
changeLog._main(args)
接收參數表args並返回歷史更改內容。
local getArgs = require('Dev:Arguments').getArgs

local changeLog = {}

function changeLog.main(frame)
    local args = getArgs(frame, { wrappers = 'Template:历史更改' })
    return changeLog._main(args)
end

function changeLog._main(args)
    local icons = {
        ['增强'] = { { class = 'buff-icon', title = '增强' }, '⯅' },
        ['削弱'] = { { class = 'nerf-icon', title = '削弱' }, '⯆' },
        ['重做'] = { { class = 'rework-icon', title = '重做' }, '🗘' },
        ['调整'] = { { class = 'adjust-icon', title = '调整' }, '✯' },
        { { class = 'false-icon' }, '❌' }
    }
    icons['增強'] = icons['增强']
    icons['調整'] = icons['调整']
    local changeLogList = mw.html.create('div'):addClass('changelog-wrapper'):tag('dl'):addClass('changelog')
    for _, v in ipairs(args) do
        local versionData = mw.text.split(v, '[>!]')
        changeLogList:tag('dt'):wikitext(table.remove(versionData, 1))
        for i = 1, #versionData, 2 do
            local changeLogItem = changeLogList:tag('dd')
            local iconData = icons[versionData[i]] or icons[1]
            local icon = mw.text.tag('span', iconData[1], iconData[2])
            changeLogItem:wikitext(icon, versionData[i + 1] or versionData[i])
            changeLogList:newline()
        end
    end
    return changeLogList:allDone()
end

return changeLog