モジュール:Navbox3

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

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

詳細は「Template:Navbox」を参照

local p = {}

function p.main( frame )
	local args = require('Module:Arguments').getArgs(frame, { wrappers = 'Template:Navbox', removeBlanks = false })
	
	local group = ''
	local group_i = ''
	local list = ''
	local list_i = ''
	
	local groupstyle = frame.args.groupstyle or ''
	local grouponlystyle = frame.args.grouponlystyle or ''
	local liststyle = frame.args.liststyle or ''
	local listonlystyle = frame.args.listonlystyle or ''
	
	local line = ''
	local temp = ''
	
	-- group + line / そんなにたくさん書かないだろうと思いつつ最大200行
	for i = 1, 200 do
		-- 成形行を空にする
		temp = ''
		
		-- group
		group_i = 'group' ..i
		group = args[group_i] or ''
		
		-- list
		list_i = 'list' ..i;
		list = args[list_i] or ''
		
		-- group と list が空でないとき
		if ( group ~= '' or nil ) and ( list ~= '' or nil ) then
			temp = '\n<tr><td style="' .. groupstyle .. '">' .. group ..'</td><td style="' .. liststyle .. '">\n' ..list ..'</td></tr>';
			-- <tr>前の\n:無いとulタグが生成されない
			-- list前の\n:HTMLタグと同じ行にWikiTextがあるとWikiTextがパースされない
		
		-- group が空でないとき
		elseif group ~= '' then
			temp = '\n<tr><td colspan="2" style="' .. grouponlystyle .. '">\n' .. group ..'</td></tr>'
		
		-- list が空でないとき
		elseif list ~= '' then
			temp = '\n<tr><td colspan="2" style="' .. listonlystyle .. '">\n' ..list ..'</td></tr>'
		
		end
		
		-- 成形行の中身をlineの末尾に追加
		line = line ..temp
	end
	
	return line
end

return p