跳转到内容

模組:車站構造

本页使用了标题或全文手工转换
被永久保护的模块
维基百科,自由的百科全书

这是本页的一个历史版本,由LuciferianThomas留言 | 贡献2021年12月23日 (四) 08:59 (修正筆誤)编辑。这可能和当前版本存在着巨大的差异。

local getArgs = require('Module:Arguments').getArgs;
local p = {}

function p.main(frame)
	local args = getArgs(frame)
	return p._main(frame, args)
end

function p._main(frame, args)
	if not (args.floor1 or args["层1"] or args["層1"]) then return '' end
	local out = mw.html.create 'table'
		:css('border-collapse', 'collapse')
		:attr('cellpadding', '5')
	out
		:tag 'tr'
			:tag 'td':css('padding', '0'):done()
			:tag 'td':css('padding', '0'):done()
			:tag 'td':css('padding', '0'):done()
			:tag 'td':css('padding', '0'):done()
			:tag 'td':css('padding', '0'):css('width', '400px'):done()
	local span_now = 0
	for i = 1, 30, 1 do
		local floor   = args[ 'floor'   .. i ] or args[ '層' .. i ] or args[ '层' .. i ] or ''
		local span    = tonumber( args[ 'span'    .. i ] or (floor ~= '' and "1" or "0") )
		local label   = args[ 'label'   .. i ] or args[ '標' .. i ] or args[ '标' .. i ] or ''
		local content = args[ 'content' .. i ] or args[ '文' .. i ]                      or ''
		span_now = span_now > 0 and span_now or span
		if span_now > 0 then
			local tr = out
				:tag 'tr':cssText("vertical-align:middle;border:solid gray;border-width:1px 0;")
			
			if floor ~= '' then
				tr:tag 'td':attr('rowspan', span):cssText('font-weight:bold'):wikitext(floor)
				tr:tag 'td':attr('rowspan', span)
			end
			tr:tag 'td':css('white-space','nowrap'):wikitext(label)
			tr:tag 'td'
			tr:tag 'td':wikitext(content):cssText(string.find(content, "月台配置") ~= nil and 'padding:0' or '')
		end
		span_now = span_now - 1
	end
	return out
end

return p