モジュール:Maintenance

提供:AcPubWiki
2023年4月22日 (土) 12:20時点における龍太郎 (トーク | 投稿記録)による版 (ページの作成:「-- メンテナンス予定jsonファイル読み込み maintenancedata = mw.loadJsonData("利用者:龍太郎/sandbox/テンプレート:メンテナンス/data.json") mw.log( maintenancedata.maintenance[1]) -- 可用性について定義 if maintenancedata.maintenance[1].availability == "available" then availability = "も、いつも通りご利用いただけます" elseif maintenancedata.maintenance[1].availability == "read-only" then availability = "は、Wi…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

{{template:メンテナンス}}から呼び出される事を想定してるluaモジュールです

module:Maintenance/data.json からデータを取得し、 template:Maintenance/template を呼び出します

jsonのフォーマットについては module:Maintenance/data.json/doc をご覧ください


-- メンテナンス予定jsonファイル読み込み
maintenancedata = mw.loadJsonData("利用者:龍太郎/sandbox/テンプレート:メンテナンス/data.json")
mw.log( maintenancedata.maintenance[1])
-- 可用性について定義
if maintenancedata.maintenance[1].availability == "available" then
	availability = "も、いつも通りご利用いただけます"
elseif maintenancedata.maintenance[1].availability == "read-only" then
	availability = "は、Wiki全体が読み取り専用としてご利用いただけます"
elseif maintenancedata.maintenance[1].availability == "performance-impact" then
	availability = "も、いつも通りご利用いただけますがパフォーマンスが低下する恐れがあります"
elseif maintenancedata.maintenance[1].availability == "Intermittent" then
	availability = "も、いつも通りご利用いただけます"
else
	availability = "の可用性データがありません"
end

-- タイプについて定義
if maintenancedata.maintenance[1].type == "periodic" then
	type = "定期メンテナンスします。なおメンテナンス中"
elseif maintenancedata.maintenance[1].type == "emergency" then
	type = "緊急メンテナンスします。なおメンテナンス中"
elseif maintenancedata.maintenance[1].type == "temporary" then
	type = "臨時メンテナンスします。なおメンテナンス中"
end

-- 開始時間について定義
if maintenancedata.maintenance[1].start == "near" then
	start = "近日中に"
else
	start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].start) .. "から"
end

-- 終了時間について定義
if maintenancedata.maintenance[1].time == "few" then
	endtime = "短時間の間"
elseif maintenancedata.maintenance[1].time == "intermittent" then
	endtime = "断続的に"
elseif maintenancedata.maintenance[1].time == "observation" then
	endtime = "経過観察をしながら断続的に"
else
	endtime = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].time) .. "まで"
end

mw.log ("{{template:メンテナンス/template|" .. start .. "|" .. endtime .. "|" ..  type .. "|" .. availability .. "|" .. maintenancedata.maintenance[1].description["ja"] .. "}}")