2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module:Linksplit

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模块文档  [创建] [刷新]
local p = {}
function p.main(frame)
	local wrappers = {
		['Template:沙盒'] = true,
		['Template:Linksplit'] = 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 _c = args.c or ':'
	local sep = args.char or ' • '
	local delcontent = args.del or ''
	local afterdel -- 要删除的内容
	-- 处理参数1~n
	for _, v in ipairs(args) do
		v = mw.text.trim(v)
		-- 判断是否有{{!}}(已被展开)
		if v ~= "" then
			if not mw.ustring.find(v, "|") then
				afterdel = mw.ustring.gsub(v , delcontent ,'')
				if args.prefix then
					table.insert(titles, args.prefix.._c..v.."|"..afterdel)
				else
					table.insert(titles, v.."|"..mw.ustring.gsub(afterdel,"^(.*)".._c,""))
				end
			else
				table.insert(titles, v)
			end
		end
	end
	local str = table.concat(titles, ']]'..sep.."[[")
	return '[['..str..']]'
end
return p