モジュール:箇条書き
ナビゲーションに移動
検索に移動
この説明文は 『 モジュール:箇条書き/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> - </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