Module:File

From the Aadenboy Wiki
Jump to navigation Jump to search

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

local p = {}

function escape(s)
	return s:gsub("[%[%]%(%)%+%-%*%?%$%^%%]", "%%%0")
end

function p.involvedFormat(frame)
	local involved = frame.args[1] or ""
	involved = involved:gsub("([^%[%]\n:]+):", "[[%1]]:"):gsub("%[%[([^\n|%]]+)(|?[^\n%]]-)%]%]:", "[[%1%2]]:[[Category:Involves %1]]"):gsub("\n", "<br/>")
	return involved
end

function p.fetchInvolvement(frame)
	local involved = frame.args[1] or ""
	local target = escape(frame.args[2] or "")
	return involved:match(target..":([^\n]+)") or involved:match("%[%["..target.."|?[^\n%]]-%]%]:([^\n]+)") or ""
end

return p