Jump to content

Module:Var nowiki

From Wikipedia, the free encyclopedia

local getArgs = require('Module:Arguments').getArgs
local p = {}

local function substituteArgs(frame, code, argstosub)
	local result = {}
	code = mw.text.unstripNoWiki(code)
	local actualCode = code
	for key, value in pairs(argstosub) do
		code = code:gsub("{{{"..key.."}}}", mw.ustring.gsub( value, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ))
	end
	actualCode = frame:preprocess(actualCode)
	return actualCode
end

function p.main(frame)
	local args = getArgs(frame)
	local code = args.code
	local argstosub = {}
	for key, value in pairs(args) do
		argstosub[key] = value
	end

	return substituteArgs(frame, code, argstosub)
end

return p