モジュール:1日から31日

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

この説明文は 『 モジュール:1日から31日/doc 』 から呼び出されています。
{{1日から31日}}の内部モジュール。

local p = {}

-- エラー
function p.error ( message )
	return '<strong class="error">エラー:' ..message ..'</strong>'
end

function p.main( frame )
	local days = ''
--	local month = tonumber(frame:preprocess( '{{Split|{{BASEPAGENAME}}|月|left}}' ))
--	local month = tonumber(frame.args[1])
	local month = tonumber(require('Module:Arguments').getArgs(frame, { wrappers = 'Template:1日から31日', removeBlanks = false }))
	local day_max = ({ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, })[month]
	if month then
		for i=1, day_max do
			days = days ..'[[' ..month ..'月' ..i ..'日|' ..i ..'日]]'
			if i ~= day_max then
				days = days ..'|'
			end
		end
		if month == 2 then
			days = days ..'<span style="font-size: 90%;">(閏)</span>'
		end
	else
		return p.error('月数字が取得出来ませんでした。')
	end

	local month_title = '[[' ..month ..'月]]'
	if month-1 ~= 0 then
		month_title = '<span style="font-size: 90%;">[['..month-1 ..'月]]</span> < ' ..month_title
	end
	if month+1 ~= 13 then
		month_title = month_title ..' > <span style="font-size: 90%;">[['..month+1 ..'月]]</span>'
	end

	local outset = '<table style="margin: 0 auto; border: 1px solid #aaf;">'
			..'<tr><td style="background: #ddf; margin: 2px; text-align: center; font-weight: bold;">' ..month_title ..'</td></tr>'
			..'<tr><td style="font-size: 90%; padding-left: 5px; padding-right: 5px;">' ..days ..'</td></tr>'
			..'</table>'

	return outset
end

return p