local p = {}
local titleset = {
["default"] = {"Red_alert.png", "命令与征服:红色警戒系列", "99", "red", "萌娘百科欢迎您参与完善本条目☆Welcome Back, Commander!"},
["苏联"] = {"Soviet-Logo.png", "命令与征服:红色警戒系列", "90", "red", "萌娘百科欢迎您参与完善本条目☆For the Union!"},
["盟军"] = {"Allied-Logo.png", "命令与征服:红色警戒系列", "90", "blue", "萌娘百科欢迎您参与完善本条目☆Welcome Back, Commander!"},
["尤里"] = {"Yuri-Logo.png", "命令与征服:红色警戒系列", "90", "purple", "萌娘百科欢迎您参与完善本条目☆Be one with Yuri!"},
["心灵终结"] = {"Mo3logo.png", "心灵终结", "99", "#800080", "萌娘百科欢迎您参与完善本条目☆Chivalry is not dead!"},
["日冕"] = {"Cor_logo.png", "日冕(红色警戒3mod)", "90", "#FC430D", "萌娘百科欢迎您参与完善本条目☆天下大同!"}
}
function p.generateTOP(frame)
local getArgs = require("Module:Arguments").getArgs
local args = getArgs(frame)
-- 获取预设值
local title = args.title or "default"
local preset = titleset[title] or titleset["default"]
-- 处理参数
local image = args.image or preset[1]
local link = args.link or preset[2]
local width = args.width or preset[3]
local color = args.color or preset[4]
local text = args.text or preset[5]
local bordercolor = args.bordercolor or color
-- 生成改进项列表
local improvements = {}
for i = 1, 16 do
if args[tostring(i)] and args[tostring(i)] ~= "" then
table.insert(improvements, "<ul><li>" .. args[tostring(i)] .. "</li></ul>")
end
end
-- 构造text3内容
local text3 = "<br>"
if #improvements > 0 then
text3 = "<br>可以从以下几个方面加以改进:<br>" .. table.concat(improvements)
end
-- 构造完整的Customtop模板
return frame:preprocess(string.format([=[
{{Customtop
|image=%s
|link=%s
|width=%s
|color=%s
|bordercolor=%s
|text='''%s'''
|text2=欢迎正在阅读此条目的指挥官们协助[{{fullurl:{{FULLPAGENAMEE}}|action=edit}} 编辑本条目]。编辑前请阅读{{coloredlink|%s|Help:Wiki入门|<U>Wiki入门</U>}}和{{coloredlink|%s|萌娘百科:编辑规范|<U>条目编辑规范</U>}},并查找相关资料。'''祝您在本站度过愉快的时光。<br>欢迎加入萌娘百科命令与征服系列专题交流群(QQ群号:[https://jq.qq.com/?_wv=1027&k=CHTsYvs4 791429073])<br>萌娘百科命令与征服编辑组(原红警编辑组)招新中,欢迎各位指挥官加入萌百命征系列填坑计划~
|text3=%s
}}]=],
image, link, width, color, bordercolor, text,
color, color, text3))
end
function p.check(frame)
local button = '{{切换显示按钮|@default=default|@radio=1|@forceNoCancel=1'
local content = ''
for k, _ in pairs(titleset) do
button = button .. '|' .. k .. '=' .. k
content = content .. string.format(
'{{切换显示|%s|<code><nowiki>{{红色警戒TOP|title=%s}}</nowiki></code>{{红色警戒TOP|title=%s}}|div}}',
k, k, k
)
end
button = button .. '}}'
return frame:preprocess(button .. content)
end
return p