置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

Module:碧蓝航线装备研发路线图/data

贴贴♀百科,万娘皆可贴的百科全书!转载请标注来源页面的网页链接,并声明引自贴贴百科。内容不可商用。
跳到导航 跳到搜索
Template-info.svg 模块文档  [查看] [编辑] [历史] [刷新]

本模块是 {{碧蓝航线装备研发路线图}} 的 Lua 支持库。模板 {{碧蓝航线装备研发路线图}} 使用类似ASCII艺术的句法生成简单系谱图。它用HTML表格和CSS在适当的位置生成文字框和线条以构成家族树,使用者在文本框内可以任意运用维基语法。

这个模块使用 mw.html 库的表格设计,来绘制 碧蓝航线装备研发路线图 的方块和方块之间的连接线。对于一个 Module:碧蓝航线装备研发路线图/data 中对应的 key,这个模块就会绘制一个匹配样式的对应的 block。表格中的每一个 key 可能有 0~2 个对应的 key:t 表示首行,b 表示末行。对于 Module:碧蓝航线装备研发路线图/data 中没有的 key,将会被看作是 碧蓝航线装备研发路线图 中的方块,方块的内容以 key 为参数名,另补充在后面。

local SLD = '4px solid #6D9EF0'
local DOT = '4px solid #6D9EF0'

local data = {
	['!'] = {
		t = { { attr = { rowspan = '2' }, style = { ['border-right'] = SLD, width = '1em', height = '2em' } },
			{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
			},
	['('] = {
		b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } } },
		t = { { style = { ['border-right'] = SLD, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
			{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
			},
	[')'] = {
		b = { { style = { width = '1em', height = '1em' } } },
		t = { { attr = { rowspan = '2' }, style = { ['border-right'] = SLD, width = '1em', height = '2em' } },
			{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
			},
	['+'] = {
		b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
			{ style = { width = '1em', height = '1em' } } },
		t = { { style = { ['border-right'] = SLD, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
			{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
			},
	['-'] = {
		b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
		t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = SLD, width = '2em', height = '1em' } } }
			},
	['T3'] = {
		b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } } },
		t = { { style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } },
			{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
			},
	["'"] = {
		b = { { style = { width = '1em', height = '1em' } } },
		t = { { style = { ['border-right'] = SLD, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
			{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
			},
	['^'] = {
		b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
		t = { { style = { ['border-right'] = SLD, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
			{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
			},
	['$'] = {
		t = { { attr = { colspan = '2', rowspan = '2'}, style = { width = '2em', height = '2em' } } }
			},
	['v'] = {
		b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
			{ style = { width = '1em', height = '1em' } } },
		t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = SLD, width = '2em', height = '1em' } } }
			},
	['x'] = {},
}

local retval = {}

for k,v in pairs(data) do
	retval[k] = {}
	for k2,v2 in pairs(v) do
		local renderedCells = mw.html.create()
		for k3,v3 in ipairs(v2) do
			renderedCells:tag('td'):css(v3.style or {}):attr(v3.attr or {})
		end
		retval[k][k2] = tostring(renderedCells)
	end
end

return retval