Difference between revisions of "Module:For nowiki"

From blackwiki
Jump to navigation Jump to search
blackwiki>Petr Matas
blackwiki>Petr Matas
Line 5: Line 5:
 
local sep = args[1]
 
local sep = args[1]
 
local code = mw.text.unstripNoWiki(args.code or args[2])
 
local code = mw.text.unstripNoWiki(args.code or args[2])
local items = {unpack(args, args.code and 2 or 3)}
+
local offset = args.code and 1 or 2
 
 
 
local result = ""
 
local result = ""
for i, value in ipairs(items) do
+
for i, value in ipairs(args) do
if i > 1 then
+
if i > offset + 1 then
 
result = result .. sep
 
result = result .. sep
 
end
 
end
 
 
result = result .. frame:newChild{args = {value, i = i}}:preprocess(code)
+
if i > offset then
 +
result = result .. frame:newChild{args = {value, i = i - offset}}:preprocess(code)
 +
end
 
end
 
end
 
 

Revision as of 23:51, 20 July 2016

Implements {{For nowiki}}.


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
			result = result .. frame:newChild{args = {value, i = i - offset}}:preprocess(code)
		end
	end
	
	return result
end

return p