<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mbwiki.stairwaygames.work/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AFormatting</id>
	<title>Module:Formatting - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mbwiki.stairwaygames.work/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AFormatting"/>
	<link rel="alternate" type="text/html" href="https://mbwiki.stairwaygames.work/w/index.php?title=Module:Formatting&amp;action=history"/>
	<updated>2026-04-10T14:26:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://mbwiki.stairwaygames.work/w/index.php?title=Module:Formatting&amp;diff=6836&amp;oldid=prev</id>
		<title>Admin coral island: Created page with &quot;local p = {} local lib = require(&#039;Module:Feature&#039;) local search = lib.inArray  function p.main(frame) 	local args = require(&#039;Module:Arguments&#039;).getArgs(frame, { 		parentFirst = true, 		removeBlanks = false 	}) 	local main = args[&#039;text&#039;] or args[1] 	local label = args[&#039;label&#039;] or args[2] or &#039;&#039; 	local r_s,r_e,b,i,u_s,u_e,v_s,v_e = &#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039; 	if main == nil then error(&#039;A value must be given&#039;) end 	local nw = mw.text.nowiki 	local out = mw.html.create(lib.terna...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mbwiki.stairwaygames.work/w/index.php?title=Module:Formatting&amp;diff=6836&amp;oldid=prev"/>
		<updated>2023-08-09T08:53:51Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {} local lib = require(&amp;#039;Module:Feature&amp;#039;) local search = lib.inArray  function p.main(frame) 	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, { 		parentFirst = true, 		removeBlanks = false 	}) 	local main = args[&amp;#039;text&amp;#039;] or args[1] 	local label = args[&amp;#039;label&amp;#039;] or args[2] or &amp;#039;&amp;#039; 	local r_s,r_e,b,i,u_s,u_e,v_s,v_e = &amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039; 	if main == nil then error(&amp;#039;A value must be given&amp;#039;) end 	local nw = mw.text.nowiki 	local out = mw.html.create(lib.terna...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local lib = require(&amp;#039;Module:Feature&amp;#039;)&lt;br /&gt;
local search = lib.inArray&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {&lt;br /&gt;
		parentFirst = true,&lt;br /&gt;
		removeBlanks = false&lt;br /&gt;
	})&lt;br /&gt;
	local main = args[&amp;#039;text&amp;#039;] or args[1]&lt;br /&gt;
	local label = args[&amp;#039;label&amp;#039;] or args[2] or &amp;#039;&amp;#039;&lt;br /&gt;
	local r_s,r_e,b,i,u_s,u_e,v_s,v_e = &amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;&lt;br /&gt;
	if main == nil then error(&amp;#039;A value must be given&amp;#039;) end&lt;br /&gt;
	local nw = mw.text.nowiki&lt;br /&gt;
	local out = mw.html.create(lib.ternary(args.NC,&amp;#039;span&amp;#039;,&amp;#039;code&amp;#039;))&lt;br /&gt;
	if args.block then&lt;br /&gt;
		out:addClass(&amp;#039;code-block&amp;#039; .. lib.ternary(main:find(&amp;#039;Infobox&amp;#039;),&amp;#039;-table&amp;#039;,&amp;#039;&amp;#039;))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--check what to add, leave variable blank if option wasn&amp;#039;t enabled&lt;br /&gt;
	if (args[&amp;#039;ref&amp;#039;] or args[&amp;#039;r&amp;#039;]) then&lt;br /&gt;
		r_s = &amp;#039;&amp;lt;ref&amp;gt;&amp;#039;&lt;br /&gt;
		r_e = &amp;#039;&amp;lt;/ref&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if (args[&amp;#039;bold&amp;#039;] or args[&amp;#039;b&amp;#039;]) then&lt;br /&gt;
		b = &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if (args[&amp;#039;italic&amp;#039;] or args[&amp;#039;i&amp;#039;]) then&lt;br /&gt;
		i = &amp;quot;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if (args[&amp;#039;underline&amp;#039;] or args[&amp;#039;u&amp;#039;]) then&lt;br /&gt;
		u_s = &amp;#039;&amp;lt;u&amp;gt;&amp;#039;&lt;br /&gt;
		u_e = &amp;#039;&amp;lt;/u&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if (args[&amp;#039;variable&amp;#039;] or args[&amp;#039;v&amp;#039;]) then&lt;br /&gt;
		main = tostring(mw.html.create():tag(&amp;quot;span&amp;quot;):addClass(&amp;#039;variable&amp;#039;):wikitext(nw(main)))&lt;br /&gt;
	end&lt;br /&gt;
	if lib.isNotEmpty(label) and (args[&amp;#039;variable-label&amp;#039;] or args[&amp;#039;vl&amp;#039;]) then&lt;br /&gt;
		label = tostring(mw.html.create():tag(&amp;quot;span&amp;quot;):addClass(&amp;#039;variable&amp;#039;):wikitext(nw(label)))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local prefix = r_s .. b .. i .. u_s&lt;br /&gt;
	local suffix = u_e .. i .. b .. r_e&lt;br /&gt;
	&lt;br /&gt;
	local joint = &amp;#039; yields: &amp;#039;&lt;br /&gt;
	if args[&amp;#039;no_joint&amp;#039;] then joint = &amp;#039; &amp;#039; end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;#039;_Ybr_&amp;#039;] then&lt;br /&gt;
		joint = joint .. &amp;#039;&amp;lt;br /&amp;gt;&amp;#039;&lt;br /&gt;
	elseif args[&amp;#039;_Yn_&amp;#039;] then&lt;br /&gt;
		joint = joint .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--create result as internal link&lt;br /&gt;
	if (args[&amp;#039;link&amp;#039;] or args[&amp;#039;l&amp;#039;]) then&lt;br /&gt;
		if lib.isNotEmpty(label) then&lt;br /&gt;
			out&lt;br /&gt;
				:wikitext(nw(prefix),nw(&amp;#039;[[&amp;#039;),p.variableFormat(main),nw(&amp;#039;|&amp;#039;),p.variableFormat(label),nw(&amp;#039;]]&amp;#039;),nw(suffix))&lt;br /&gt;
		else&lt;br /&gt;
			out&lt;br /&gt;
				:wikitext(nw(prefix),nw(&amp;#039;[[&amp;#039;),p.variableFormat(main),nw(&amp;#039;]]&amp;#039;),nw(suffix))&lt;br /&gt;
		end&lt;br /&gt;
		if (args[&amp;#039;_Ybr_&amp;#039;] or args[&amp;#039;_Y_&amp;#039;] or args[&amp;#039;_Yn_&amp;#039;]) then&lt;br /&gt;
			local content = b .. i .. u_s  .. &amp;#039;[[&amp;#039; .. main .. &amp;#039;|&amp;#039; .. (lib.isNotEmpty(label) and label) or main .. &amp;#039;]]&amp;#039; .. u_e .. i .. b&lt;br /&gt;
			if (args[&amp;#039;ref&amp;#039;] or args[&amp;#039;r&amp;#039;]) then&lt;br /&gt;
				return tostring(out) .. joint .. frame:extensionTag{ name = &amp;#039;ref&amp;#039;, content = content}&lt;br /&gt;
			else&lt;br /&gt;
				return tostring(out) .. joint .. content&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	--create result as external link&lt;br /&gt;
	elseif (args[&amp;#039;external-link&amp;#039;] or args[&amp;#039;el&amp;#039;]) then&lt;br /&gt;
		if lib.isNotEmpty(label) then&lt;br /&gt;
			out&lt;br /&gt;
				:wikitext(nw(prefix),nw(&amp;#039;[&amp;#039;),p.variableFormat(nw(mw.text.unstrip(main))),&amp;#039; &amp;#039;,p.variableFormat(label),nw(&amp;#039;]&amp;#039;),nw(suffix))&lt;br /&gt;
		else&lt;br /&gt;
			out&lt;br /&gt;
				:wikitext(nw(prefix),nw(&amp;#039;[&amp;#039;),p.variableFormat(nw(mw.text.unstrip(main))),nw(&amp;#039;]&amp;#039;),nw(suffix))&lt;br /&gt;
		end&lt;br /&gt;
		if (args[&amp;#039;_Ybr_&amp;#039;] or args[&amp;#039;_Y_&amp;#039;] or args[&amp;#039;_Yn_&amp;#039;]) then&lt;br /&gt;
			local content = b .. i .. u_s  .. &amp;#039;[&amp;#039; .. main .. &amp;#039; &amp;#039; .. label .. &amp;#039;]&amp;#039; .. u_e .. i .. b&lt;br /&gt;
			if (args[&amp;#039;ref&amp;#039;] or args[&amp;#039;r&amp;#039;]) then&lt;br /&gt;
				return tostring(out) .. joint .. frame:extensionTag{ name = &amp;#039;ref&amp;#039;, content = content}&lt;br /&gt;
			else&lt;br /&gt;
				return tostring(out) .. joint .. content&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	elseif (args[&amp;#039;template&amp;#039;] or args[&amp;#039;t&amp;#039;]) then&lt;br /&gt;
		local SPECIAL = {&amp;#039;_Y_&amp;#039;,&amp;#039;_Ybr_&amp;#039;,&amp;#039;_Yn_&amp;#039;,&amp;#039;let_parse&amp;#039;,&amp;#039;block&amp;#039;,&amp;#039;t&amp;#039;,&amp;#039;template&amp;#039;,&amp;#039;NC&amp;#039;,&amp;#039;ref&amp;#039;,&amp;#039;r&amp;#039;,&amp;#039;b&amp;#039;,&amp;#039;boid&amp;#039;,&amp;#039;i&amp;#039;,&amp;#039;italic&amp;#039;,&amp;#039;u&amp;#039;,&amp;#039;underline&amp;#039;,&amp;#039;v&amp;#039;,&amp;#039;variable&amp;#039;}&lt;br /&gt;
		local yieldargs = {}&lt;br /&gt;
		local pre = main&lt;br /&gt;
		if not main:find(&amp;#039;User:&amp;#039;) then&lt;br /&gt;
			pre = &amp;#039;Template:&amp;#039; .. main&lt;br /&gt;
		end&lt;br /&gt;
		main = &amp;#039;[[&amp;#039; .. pre .. &amp;#039;|&amp;#039; .. main:gsub(&amp;#039; &amp;#039;,&amp;#039;&amp;amp;nbsp;&amp;#039;) .. &amp;#039;]]&amp;#039;&lt;br /&gt;
&lt;br /&gt;
		--template call with params&lt;br /&gt;
		if p.checkParams(args,SPECIAL) then&lt;br /&gt;
			&lt;br /&gt;
			--open fake template call&lt;br /&gt;
			out&lt;br /&gt;
				:wikitext(nw(prefix),nw(&amp;#039;{{&amp;#039;),main)&lt;br /&gt;
			local param = 1&lt;br /&gt;
			while (args[&amp;#039;v&amp;#039;..param] or args[&amp;#039;P&amp;#039; .. param] or args[&amp;#039;p&amp;#039; .. param] or args[param+1]) do&lt;br /&gt;
				--variable input format&lt;br /&gt;
				if args[&amp;#039;v&amp;#039;..param] then&lt;br /&gt;
					local parse = p.parseParam(args[&amp;#039;v&amp;#039;..param])&lt;br /&gt;
&lt;br /&gt;
					if args.block then&lt;br /&gt;
						out:wikitext(&amp;#039;&amp;lt;br /&amp;gt;&amp;#039;)&lt;br /&gt;
					end&lt;br /&gt;
&lt;br /&gt;
					--named param format&lt;br /&gt;
					if parse.value then&lt;br /&gt;
						out&lt;br /&gt;
							:wikitext(nw(&amp;#039;|&amp;#039;),&amp;#039;&amp;lt;b&amp;gt;&amp;#039;,p.variableFormat(nw(parse.name)),&amp;#039;&amp;lt;/b&amp;gt;&amp;#039;,string.rep(&amp;#039;&amp;amp;nbsp;&amp;#039;,parse.spacing),&amp;#039;= &amp;#039;,tostring(mw.html.create():tag(&amp;quot;span&amp;quot;):addClass(&amp;#039;variable&amp;#039;):wikitext(p.NewLineAllow(parse.value, args.let_parse))))&lt;br /&gt;
&lt;br /&gt;
					--unnamed param format&lt;br /&gt;
					else&lt;br /&gt;
						out&lt;br /&gt;
							:wikitext(nw(&amp;#039;|&amp;#039;),tostring(mw.html.create():tag(&amp;quot;span&amp;quot;):addClass(&amp;#039;variable&amp;#039;):wikitext(p.NewLineAllow(parse.name, args.let_parse))))&lt;br /&gt;
					end&lt;br /&gt;
					args[&amp;#039;v&amp;#039; .. param] = nil&lt;br /&gt;
&lt;br /&gt;
				--fixed input format&lt;br /&gt;
				elseif (args[&amp;#039;p&amp;#039; .. param] or args[param+1]) then&lt;br /&gt;
					local value = args[&amp;#039;p&amp;#039; .. param] or args[param+1]&lt;br /&gt;
					local parse = p.parseParam(value)&lt;br /&gt;
&lt;br /&gt;
					if args.block then&lt;br /&gt;
						out:wikitext(&amp;#039;&amp;lt;br /&amp;gt;&amp;#039;)&lt;br /&gt;
					end&lt;br /&gt;
&lt;br /&gt;
					--named param format&lt;br /&gt;
					if parse.value then&lt;br /&gt;
						yieldargs[parse.name] = mw.text.unstrip(parse.value)&lt;br /&gt;
						out&lt;br /&gt;
							:wikitext(nw(&amp;#039;|&amp;#039;),&amp;#039;&amp;lt;b&amp;gt;&amp;#039;,p.variableFormat(nw(parse.name)),&amp;#039;&amp;lt;/b&amp;gt;&amp;#039;,string.rep(&amp;#039;&amp;amp;nbsp;&amp;#039;,parse.spacing),&amp;#039;= &amp;#039;,p.NewLineAllow(p.variableFormat(parse.value), args.let_parse))&lt;br /&gt;
&lt;br /&gt;
					--unnamed param format&lt;br /&gt;
					else&lt;br /&gt;
						yieldargs[param] = mw.text.unstrip(parse.name)&lt;br /&gt;
						out&lt;br /&gt;
							:wikitext(nw(&amp;#039;|&amp;#039;),p.NewLineAllow(p.variableFormat(parse.name), args.let_parse))&lt;br /&gt;
					end&lt;br /&gt;
					&lt;br /&gt;
					--set values to nil for yield to ignore them&lt;br /&gt;
					if args[&amp;#039;p&amp;#039; .. param] then args[&amp;#039;p&amp;#039; .. param] = nil end&lt;br /&gt;
					if args[param+1] then args[param+1] = nil end&lt;br /&gt;
				--fixed input format, default let parse&lt;br /&gt;
				elseif args[&amp;#039;P&amp;#039; .. param] then&lt;br /&gt;
					local value = args[&amp;#039;P&amp;#039; .. param]&lt;br /&gt;
					local parse = p.parseParam(value)&lt;br /&gt;
&lt;br /&gt;
					if args.block then&lt;br /&gt;
						out:wikitext(&amp;#039;&amp;lt;br /&amp;gt;&amp;#039;)&lt;br /&gt;
					end&lt;br /&gt;
&lt;br /&gt;
					--named param format&lt;br /&gt;
					if parse.value then&lt;br /&gt;
						yieldargs[parse.name] = mw.text.unstrip(parse.value)&lt;br /&gt;
						out&lt;br /&gt;
							:wikitext(nw(&amp;#039;|&amp;#039;),&amp;#039;&amp;lt;b&amp;gt;&amp;#039;,p.variableFormat(nw(parse.name)),&amp;#039;&amp;lt;/b&amp;gt;&amp;#039;,string.rep(&amp;#039;&amp;amp;nbsp;&amp;#039;,parse.spacing), &amp;#039;= &amp;#039;, p.NewLineAllow(p.variableFormat(parse.value), true))&lt;br /&gt;
&lt;br /&gt;
					--unnamed param format&lt;br /&gt;
					else&lt;br /&gt;
						yieldargs[param] = mw.text.unstrip(parse.name)&lt;br /&gt;
						out&lt;br /&gt;
							:wikitext(nw(&amp;#039;|&amp;#039;),p.NewLineAllow(p.variableFormat(parse.name), true))&lt;br /&gt;
					end&lt;br /&gt;
					&lt;br /&gt;
					--set values to nil for yield to ignore them&lt;br /&gt;
					args[&amp;#039;P&amp;#039; .. param] = nil&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				--increase count for the next &amp;#039;while&amp;#039; loop&lt;br /&gt;
				param = param + 1&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			for n,v in pairs(args) do&lt;br /&gt;
				if (n ~= 1 and not search(SPECIAL,n)) then&lt;br /&gt;
					yieldargs[n] = mw.text.unstrip(v)&lt;br /&gt;
					if args.block then&lt;br /&gt;
						out:wikitext(&amp;#039;&amp;lt;br /&amp;gt;&amp;#039;)&lt;br /&gt;
					end&lt;br /&gt;
					out:wikitext(nw(&amp;#039;|&amp;#039;),&amp;#039;&amp;lt;b&amp;gt;&amp;#039;,p.variableFormat(nw(n)),&amp;#039;&amp;lt;/b&amp;gt; = &amp;#039;,p.NewLineAllow(p.variableFormat(v),args.let_parse))&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			if args.block then&lt;br /&gt;
				out:wikitext(&amp;#039;&amp;lt;br /&amp;gt;&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			--close fake template call and all the selected items&lt;br /&gt;
			out&lt;br /&gt;
				:wikitext(nw(&amp;#039;}}&amp;#039;),nw(suffix))&lt;br /&gt;
&lt;br /&gt;
		--template call without params&lt;br /&gt;
		else&lt;br /&gt;
			out&lt;br /&gt;
				:wikitext(nw(prefix),nw(&amp;#039;{{&amp;#039;),main,nw(&amp;#039;}}&amp;#039;),nw(suffix))&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		--auto fake template usage for examples&lt;br /&gt;
		if (args[&amp;#039;_Ybr_&amp;#039;] or args[&amp;#039;_Y_&amp;#039;] or args[&amp;#039;_Yn_&amp;#039;]) then&lt;br /&gt;
			frame = frame or mw.getCurrentFrame()&lt;br /&gt;
			local param = 1&lt;br /&gt;
			local content = b .. i .. u_s .. frame:expandTemplate{title = (args[&amp;#039;text&amp;#039;] or args[1]),args = yieldargs} .. u_e .. i .. b&lt;br /&gt;
			if args.block then&lt;br /&gt;
				joint = &amp;#039;&amp;lt;br /&amp;gt;&amp;#039; .. joint&lt;br /&gt;
			end&lt;br /&gt;
			if (args[&amp;#039;ref&amp;#039;] or args[&amp;#039;r&amp;#039;]) then&lt;br /&gt;
				return tostring(out) .. joint .. frame:extensionTag{ name = &amp;#039;ref&amp;#039;, content = content}&lt;br /&gt;
			else&lt;br /&gt;
				if main:find(&amp;#039;Infobox&amp;#039;) then&lt;br /&gt;
					return content .. tostring(out)&lt;br /&gt;
				else&lt;br /&gt;
					return tostring(out) .. joint .. content&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	--create plain text result&lt;br /&gt;
	else&lt;br /&gt;
		if (args[&amp;#039;nowiki&amp;#039;] or args[&amp;#039;nw&amp;#039;]) then&lt;br /&gt;
			out&lt;br /&gt;
				:wikitext(nw(prefix),p.variableFormat(nw(main)),nw(suffix))&lt;br /&gt;
		else&lt;br /&gt;
			out&lt;br /&gt;
				:wikitext(nw(prefix),p.variableFormat(main),nw(suffix))&lt;br /&gt;
		end&lt;br /&gt;
		if (args[&amp;#039;_Ybr_&amp;#039;] or args[&amp;#039;_Y_&amp;#039;] or args[&amp;#039;_Yn_&amp;#039;]) then&lt;br /&gt;
			local content = b .. i .. u_s  .. main .. u_e .. i .. b&lt;br /&gt;
			if (args[&amp;#039;ref&amp;#039;] or args[&amp;#039;r&amp;#039;]) then&lt;br /&gt;
				return tostring(out) .. joint .. frame:extensionTag{ name = &amp;#039;ref&amp;#039;, content = content}&lt;br /&gt;
			else&lt;br /&gt;
				return tostring(out) .. joint .. content&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--return completed result&lt;br /&gt;
	return tostring(out)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.parseParam(param)&lt;br /&gt;
    local tmp = param&lt;br /&gt;
    local name, value, spacing = &amp;#039;&amp;#039;,&amp;#039;&amp;#039;,&amp;#039; &amp;#039;&lt;br /&gt;
&lt;br /&gt;
    -- the parameter&amp;#039;s name is anything to the left of the first equals sign;&lt;br /&gt;
    -- the equals sign can be escaped, for wikis that don&amp;#039;t have [[Template:=]]&lt;br /&gt;
    if tmp:find(&amp;#039;=&amp;#039;) then&lt;br /&gt;
        name, spacing, value = string.match(tmp,&amp;#039;^(.-)(%s*)=%s*(.-)$&amp;#039;)&lt;br /&gt;
        if string.len(spacing) == 0 then spacing = 1 else spacing = string.len(spacing) end&lt;br /&gt;
    else&lt;br /&gt;
    	name = tmp&lt;br /&gt;
    	value = false&lt;br /&gt;
    end&lt;br /&gt;
    return {&lt;br /&gt;
    	name = name,&lt;br /&gt;
    	value = value,&lt;br /&gt;
    	spacing = spacing&lt;br /&gt;
    }&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.variableFormat(textin)&lt;br /&gt;
	while (textin:find(&amp;#039;%(%(&amp;#039;) and textin:find(&amp;#039;%)%)&amp;#039;)) do&lt;br /&gt;
		local textrp = string.match(textin,&amp;#039;%(%((.-)%)%)&amp;#039;)&lt;br /&gt;
		textin = textin:gsub(&amp;#039;%(%(.-%)%)&amp;#039;,tostring(mw.html.create():tag(&amp;quot;span&amp;quot;):addClass(&amp;#039;variable&amp;#039;):wikitext(mw.text.nowiki(textrp))),1)&lt;br /&gt;
	end&lt;br /&gt;
	return textin&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.checkParams(args,SPECIAL)&lt;br /&gt;
	for n,v in pairs(args) do&lt;br /&gt;
		if (n ~= 1 and not search(SPECIAL,n)) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--helper function to allow new line format in template calls in block format, as directly allowing makes the &amp;lt;code&amp;gt; container break&lt;br /&gt;
function p.NewLineAllow(str,parse)&lt;br /&gt;
	local container = mw.html.create()&lt;br /&gt;
	local nw = mw.text.nowiki&lt;br /&gt;
	&lt;br /&gt;
	if str:find(&amp;#039;[\n\r]&amp;#039;) then&lt;br /&gt;
		str = str:gsub(&amp;#039;[\n\r]&amp;#039;, &amp;#039;¤¤¤&amp;#039;)&lt;br /&gt;
		local splitstr = mw.text.split(str, &amp;#039;¤¤¤&amp;#039;, true )&lt;br /&gt;
		for i,v in ipairs(splitstr) do&lt;br /&gt;
			if not parse then v = nw(v) end&lt;br /&gt;
			container:wikitext(v)&lt;br /&gt;
			if i ~= #splitstr then&lt;br /&gt;
				container:wikitext(&amp;#039;&amp;lt;br /&amp;gt;&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return tostring(container)&lt;br /&gt;
	else&lt;br /&gt;
		if not parse then str = nw(str) end&lt;br /&gt;
		return str&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Admin coral island</name></author>
	</entry>
</feed>