跳至內容

模組:Bulletin

出自微國家百科
於 2026年1月12日 (一) 17:31 由 LarryChou留言 | 貢獻 所做的修訂 (建立內容為「local p = {} function p._getcolor( color ) local colorlist = { ["公告"] = "Pink", ["人事"] = "LightGreen", ["投票"] = "LightGreen", ["編輯"] = "LightGreen", ["討論"] = "LightBlue", ["請求"] = "Orange", ["通知"] = "Skyblue", ["調查"] = "Yellow", ["聚會"] = "PaleGoldenrod", ["獎勵"] = "PaleGoldenrod", ["解任"] = "#99FF4D", ["離任"] = "#99FF4D", ["廣告"] = "#EEFFDD"; ["評選"] = "#F9FFAD", ["分享"] =…」的新頁面)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

可在模組:Bulletin/doc建立此模組的說明文件

local p = {}

function p._getcolor( color )
	local colorlist = {
		["公告"] = "Pink",
		["人事"] = "LightGreen",
		["投票"] = "LightGreen",
		["編輯"] = "LightGreen",
		["討論"] = "LightBlue",
		["請求"] = "Orange",
		["通知"] = "Skyblue",
		["調查"] = "Yellow",
		["聚會"] = "PaleGoldenrod",
		["獎勵"] = "PaleGoldenrod",
		["解任"] = "#99FF4D",
		["離任"] = "#99FF4D",
		["廣告"] = "#EEFFDD";
		["評選"] = "#F9FFAD",
		["分享"] = "#FAEBD7",
		["提醒"] = "#FFDD77",
		["協作"] = "#D2CFFF",
		["建議"] = "#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; color: initial;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