模块:车站构造

本页使用了标题或全文手工转换,现处于中国大陆简体模式
求闻百科,共笔求闻

本模块用于模板链接:{{车站构造}}模板。

上述文档内容嵌入自Module:车站构造/doc编辑 | 历史
编者可以在本模块的沙盒创建 | 镜像和测试样例创建页面进行实验。
请将模块自身所属的分类添加在文档中。本模块的子页面
local getArgs = require('Module:Arguments').getArgs;
local tools = require 'Module:TableTools'
local p = {}

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

function p._main(frame, args)
	local out = mw.html.create 'table'
		:addClass 'station-structure-table'
		-- :css('border-collapse', 'collapse')
		-- :attr('cellpadding', '5')
	local span_now = 0
	local numData = tools.numData(args)
	for i, item in tools.sparseIpairs(numData) do
		local floor   = item.floor or item.f or item['層'] or item['层']
		local span    = tonumber( item.span or (floor and 1 or 0) )
		local label   = item.label or item.l or item['標'] or item['标']
		local content = item.content or item.c or item['文']
		span_now = span_now > 0 and span_now or span
		if span_now > 0 then
			local tr = out
				:tag 'tr'
				:addClass 'station-structure-table-row'
				-- :cssText("vertical-align:middle;border:solid gray;border-width:1px 0;")
			
			if floor then
				tr:tag 'td'
					:attr('rowspan', span)
					:addClass 'station-structure-floor'
					:wikitext(floor)
			end
			if label then
			tr:tag 'td':addClass 'station-structure-label':wikitext(label) end
			tr:tag 'td':addClass 'station-structure-content':wikitext(content)-- :cssText(string.find(content, "月台配置") ~= nil and 'padding:0' or '')
				:attr('colspan', (not label) and '2' or nil)
		end
		span_now = span_now - 1
	end
	out:wikitext(frame:extensionTag {name = 'templatestyles', args = {src = 'Template:车站构造/style.css'}})
	return out
end

return p