モジュール:Sidebar
ナビゲーションに移動
検索に移動
この説明文は 『 モジュール:Sidebar/doc 』 から呼び出されています。
詳細は「Template:Sidebar」を参照
local p = {}
function p.main(frame)
local args = require('モジュール:Arguments').getArgs(frame, {
wrappers = 'テンプレート:Sidebar',
removeBlanks = false
})
-- 使用変数のnil避け
local group, list, output = '', '', ''
-- {{Sidebar}}からの引数を受け取る
local groupcolor = args.groupcolor or ''
local grouptextcolor = args.grouptextcolor or ''
local groupstyle = args.groupstyle or ''
local liststyle = args.liststyle or ''
local g_clr_before12 = groupcolor == '' and '#aaa' or groupcolor
local g_clr_from12 = groupcolor == '' and '#cedaf2' or groupcolor
local g_txt_clr = grouptextcolor == '' and '#000' or grouptextcolor
-- ループ行の開始 / そんなに何書くんだと思いつつ最大100行(<tr>)
local g_clr = ''
for i = 1, 100, 1 do
g_clr = i < 12 and g_clr_before12 or g_clr_from12
-- 引数を受け取る
group = args['group' .. i] or ''
list = args['list' .. i] or ''
-- list の内容があった場合のみ行を追加
if list ~= '' and list ~= nil then
-- 行(tr)を追加
output = output .. table.concat({
'<tr>',
'<td style="width:6.5em;text-align:right;padding-right:2px;',
'background-color:', g_clr, ';',
'color:', g_txt_clr, ';', groupstyle, '"><b>', group, '</b></td>',
'<td style="padding-left: 2px;', liststyle, '">', list, '</td>',
'</tr>'
})
end
end
return output
end
return p