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

Module:大家族内容行

贴贴♀百科,万娘皆可贴的百科全书!转载请标注来源页面的网页链接,并声明引自贴贴百科。内容不可商用。
跳到导航 跳到搜索
Template-info.svg 模块文档  [创建] [刷新]
local p = {}
 
function p.main(frame)
	local wrappers = {
		['Template:沙盒'] = true,
		['Template:大家族内容行'] = true,
		['Template:Links/br'] = true
	}
	local parent = frame:getParent()
	if parent and wrappers[parent:getTitle()] then
		frame = parent
	end
	return p._main(frame.args)
end
 
function p._main(args)
	local titles = {} -- 链接
	local sep -- 分隔字符串
	local str -- 返回值
	local nolink -- boolean
	
	-- 处理参数
	-- 参数有:1~n、char、indent、nolink
	for i, v in ipairs(args) do
		v = mw.text.trim(v)
		if v ~= '' then
			table.insert(titles, v)
		end
	end
	nolink = args.nolink and args.nolink ~= ''
	
	-- 构造分隔字符串
	local sepParts = {
		']]',
		args.char or ' • ',
		'',
		'[['
	}
	if nolink then
		sepParts[1], sepParts[4] = '', ''
	end
	local indent = tonumber(args.indent)
	if indent and indent >= 3 then
		sepParts[3] = '<!--\n'..mw.ustring.rep(' ', indent - 3)..'-->'
	end
	sep = table.concat(sepParts)

	-- 输出
	str = table.concat(titles, sep)
	if not nolink then
		str = '[['..str..']]'
	end
	return str
end
 
return p