「モジュール:Maintenance」の版間の差分
細編集の要約なし |
編集の要約なし |
||
43行目: | 43行目: | ||
endtime = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].time) .. "まで" | endtime = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].time) .. "まで" | ||
end | end | ||
return ("{{template:メンテナンス/template|" .. start .. "|" .. endtime .. "|" .. type .. "|" .. availability .. "|" .. maintenancedata.maintenance[1].description["ja"] .. "}}") | return tostring("{{template:メンテナンス/template|" .. start .. "|" .. endtime .. "|" .. type .. "|" .. availability .. "|" .. maintenancedata.maintenance[1].description["ja"] .. "}}") | ||
end | end | ||
return p | return p |
2023年4月22日 (土) 17:55時点における版
{{template:メンテナンス}}から呼び出される事を想定してるluaモジュールです
module:Maintenance/data.json からデータを取得し、 template:Maintenance/template を呼び出します
jsonのフォーマットについては module:Maintenance/data.json/doc をご覧ください
local p = {} function p.main() -- メンテナンス予定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 return tostring("{{template:メンテナンス/template|" .. start .. "|" .. endtime .. "|" .. type .. "|" .. availability .. "|" .. maintenancedata.maintenance[1].description["ja"] .. "}}") end return p