模組:Bulletin
local p = {}
function p._getcolor( color )
local colorlist = {
["公告"] = "Pink",
["人事"] = "LightGreen",
["投票"] = "LightGreen",
["编辑"] = "LightGreen",
["編輯"] = "LightGreen",
["讨论"] = "LightBlue",
["討論"] = "LightBlue",
["請求"] = "Orange",
["请求"] = "Orange",
["通知"] = "Skyblue",
["调查"] = "Yellow",
["調查"] = "Yellow",
["聚會"] = "PaleGoldenrod",
["聚会"] = "PaleGoldenrod",
["獎勵"] = "PaleGoldenrod",
["奖励"] = "PaleGoldenrod",
["解任"] = "#99FF4D",
["離任"] = "#99FF4D",
["离任"] = "#99FF4D",
["广告"] = "#EEFFDD",
["廣告"] = "#EEFFDD";
["評選"] = "#F9FFAD",
["评选"] = "#F9FFAD",
["分享"] = "#FAEBD7",
["提醒"] = "#FFDD77",
["協作"] = "#D2CFFF",
["协作"] = "#D2CFFF",
["建議"] = "#00FFFF",
["建议"] = "#00FFFF"
}
if colorlist[color] == nil then
return "transparent"
end
return colorlist[color]
end
function p.item( frame )
local args = frame:getParent().args
prefix = args["prefix"]
if prefix == nil then
prefix = ""
end
suffix = args["suffix"]
if suffix == nil then
suffix = ""
end
separator = args["separator"]
if separator == nil then
separator = "、"
end
conjunction = args["conjunction"]
if conjunction == nil then
conjunction = "及"
end
type = args[1]
if type == nil then
type = "公告"
end
type = mw.text.trim(type)
local items = {}
local i = 2
local value
while args[i] ~= nil do
value = mw.text.trim( args[i] )
if value ~= "" then
table.insert( items, value )
end
i = i + 1
end
return '<span class="bulletin-type skin-invert" style="font-weight: bold; background-color:' ..
p._getcolor(type) .. ';">[' .. type .. ']</span> ' ..
'<span class="bulletin-prefix">' .. prefix .. "</span>" ..
'<span class="bulletin-item">' .. mw.text.listToText(
items,
'</span><span class="bulletin-separator">' .. separator .. '</span><span class="bulletin-item">',
'</span><span class="bulletin-conjunction">' .. conjunction .. '</span><span class="bulletin-item">'
) .. '</span>' ..
'<span class="bulletin-suffix">' .. suffix .. '</span>'
end
return p