缺氧 wiki 编辑团队提示:注册账号并登录后体验更佳,且可通过参数设置定制优化您的浏览体验!

该站点为镜像站点,如果你想帮助这个由玩家志愿编辑的 wiki 站点,请前往原站点参与编辑,
同时欢迎加入编辑讨论群 851803695 与其他编辑者一起参与建设!

全站通知:

模块:Sandbox/Cnctema/View

来自缺氧WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

此模块的文档可以在模块:Sandbox/Cnctema/View/doc创建

local fstr = mw.ustring.format

local p = {}
p.DEFAULT_GALLERY_PARAMS = "spacing=small captionalign=center bordersize=none"
p.DEFAULT_ITEM_NAMES = {
    "条目_弗兰奇",
    "条目_戈斯曼",
    "条目_哈罗德",
    "条目_哈桑",
    "条目_豪尔赫",
    "条目_吉恩",
    "条目_卡米耶",
    "条目_卡塔莉娜",
    "条目_奎恩",
    "条目_老钉",
    "条目_蕾拉",
    "条目_利亚姆",
    "条目_莲",
    "条目_琳赛",
    "条目_鲁比",
    "条目_罗恩",
    "条目_玛丽",
    "条目_麦克斯",
    "条目_梅娅",
    "条目_咪玛",
    "条目_米珀",
    "条目_尼古拉",
    "条目_尼斯贝特",
    "条目_泡泡",
    "条目_裴",
    "条目_史蒂夫",
    "条目_斯丁奇",
    "条目_特拉瓦尔多",
    "条目_特纳",
    "条目_亚伯",
    "条目_约书亚",
    "条目_阿里",
    "条目_阿玛里",
    "条目_阿思肯",
    "条目_埃莉",
    "条目_艾达",
    "条目_奥托",
    "条目_班妮",
    "条目_博特",
    "条目_德文",
    "条目_芙蕾娅"

}

function p.gallery(args, params)
    params = params ~= nil and params or p.DEFAULT_GALLERY_PARAMS
    local out = {
        "<gallery " .. params .. ">"
    }
    for _, item in ipairs(args) do
        local itemName = item["name"]
        local itemDesc = item["desc"]
        local image = fstr("File:%s.png|%s", itemName, itemName)
        table.insert(out, fstr('<div><div>%s</div><div>%s</div><div>%s</div></div>', image, itemName, itemDesc))
    end
    table.insert(out, "</gallery>")
    out = table.concat(out, "\n")
    return out
end
-- test by: =p.mainpage({{name = "a", desc = "b"},{name = "c", desc = "d"}})
function p.mainpage(args, params)
    params = params ~= nil and params or p.DEFAULT_GALLERY_PARAMS
    local out = {
        "<gallery " .. params .. ">"
    }
    for _, item in ipairs(args) do
        local itemName = item["name"]
        local itemPrefix = mw.title.new(itemName).rootText
        local itemDesc = item["desc"]
        local fileName = ""
        if mw.title.new(itemName .. '.png', 'File').exists then
            fileName = itemName
        elseif mw.title.new(itemPrefix .. '.png', 'File').exists then
        	fileName = itemPrefix
        elseif mw.title.new('条目_' .. itemPrefix .. '.png', 'File').exists then
        	fileName = '条目_' .. itemPrefix
        else
            fileName = p.DEFAULT_ITEM_NAMES[math.random(#p.DEFAULT_ITEM_NAMES)]
        end
        table.insert(out, fstr("File:%s.png|link=%s|%s", fileName, itemName, itemDesc))
    end
    table.insert(out, "</gallery>")
    out = table.concat(out, "\n")
    return out
end

function p.test(frame)
    return p.gallery({
        {
            name = "a",
            desc = "b"
        },
        {
            name = "c",
            desc = "d"
        }
    })
end
return p