Module: For nowiki

From Break Into Chat - BBS wiki
Jump to: navigation, search

Documentation for this module may be created at Module:For nowiki/doc

local p = {}

function p.main(frame)
	local args = frame:getParent().args
	local sep = args[1]
	local code = mw.text.unstripNoWiki(args.code or args[2])
	local offset = args.code and 1 or 2
	
	local result = ""
	for i, value in ipairs(args) do
		if i > offset + 1 then
			result = result .. sep
		end
		
		if i > offset then
			local actualCode = code:gsub("{{{([^{}]*)}}}", {i = i - offset, ["1"] = value})
			result = result .. frame:preprocess(actualCode)
		end
	end
	
	return result
end

return p