モジュール:箇条書き

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

この説明文は 『 モジュール:箇条書き/doc 』 から呼び出されています。

詳細は「Template:箇条書き」を参照

local p = {};

function p.main( frame )
	local args = require('モジュール:Arguments').getArgs(frame, {wrappers = 'テンプレート:箇条書き', removeBlanks = false})

	-- 使用変数のnil避け
	local color = '';
	local margin = '';
	local align = '';
	local number = '';
	local bb = 'border-bottom: 1px solid #aaa;';
	local left = '';
	local right = '';

	local line = '';
	local temp = '';

	-- config 引数を受け取る
	color = args.color or '';
	if color == '' then
		color = 'background: transparent;';
	else
		color = 'background: ' ..color ..';';
	end

	margin = args.margin or '';
	if margin ~= '' then
		margin = 'margin-left: ' ..margin ..';';
	end

	align = args.align or '';
	if align ~= '' then
		align = 'text-align: ' ..align ..';';
	else
		align = 'text-align: inherit;';
	end

	number = args.number or '';

	-- テーブルの構築
	local table_start = '<table style="clear: both;' ..margin ..'">';

	local table_end = '</table>';

	-- ループ行の開始 / 最大200行
	local j = args.start or '';
	if j == '' or nil then
		j = 1;
	end
	for i = 1, 600, 2 do
		temp = '';

		-- 引数を受け取る
		left	= args[i] or '';
		right = args[i + 1] or '';

		if left and right ~= '' or nil then
			-- 行頭番号判定
			if number ~= '' or nil then
				temp = temp ..'<tr><td style="text-align: right;"><span style="margin-left: 10px;">' .. j ..'.</span></td>';
			else
				temp = temp ..'<tr><td><ul><li></li></ul></td>';
			end

			-- 行の左右成形
			temp = temp ..'<td style="white-space: nowrap; ' ..color ..align ..bb ..'">' .. left ..'</td><td>&nbsp;-&nbsp;</td><td style="' ..bb ..'">' ..right ..'</td></tr>';

			-- 行を加算
			line = line ..temp;

			-- 番号を加算
			j = j + 1;
		else
			break
		end
end

	return table_start ..line ..table_end
end

return p