<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pool.calebcooper.ie/index.php?action=history&amp;feed=atom&amp;title=Module%3ADemoTemplate</id>
	<title>Module:DemoTemplate - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pool.calebcooper.ie/index.php?action=history&amp;feed=atom&amp;title=Module%3ADemoTemplate"/>
	<link rel="alternate" type="text/html" href="https://pool.calebcooper.ie/index.php?title=Module:DemoTemplate&amp;action=history"/>
	<updated>2026-04-10T12:40:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://pool.calebcooper.ie/index.php?title=Module:DemoTemplate&amp;diff=12953&amp;oldid=prev</id>
		<title>Caleb Cooper: Created page with &quot;require(&#039;Module:No globals&#039;)  local newBuffer = require(&#039;Module:OutputBuffer&#039;) local mt = {}  function mt.__index(t, title) 	return function(frame) 		local getBuffer, print, p...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pool.calebcooper.ie/index.php?title=Module:DemoTemplate&amp;diff=12953&amp;oldid=prev"/>
		<updated>2020-10-20T16:17:43Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;require(&amp;#039;Module:No globals&amp;#039;)  local newBuffer = require(&amp;#039;Module:OutputBuffer&amp;#039;) local mt = {}  function mt.__index(t, title) 	return function(frame) 		local getBuffer, print, p...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;Module:No globals&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local newBuffer = require(&amp;#039;Module:OutputBuffer&amp;#039;)&lt;br /&gt;
local mt = {}&lt;br /&gt;
&lt;br /&gt;
function mt.__index(t, title)&lt;br /&gt;
	return function(frame)&lt;br /&gt;
		local getBuffer, print, printf = newBuffer()&lt;br /&gt;
		printf(&amp;#039;{{%s&amp;#039;, title)&lt;br /&gt;
		local ipairsArgs = {}&lt;br /&gt;
		for k,v in ipairs(frame.args) do&lt;br /&gt;
			if string.find(v, &amp;#039;=&amp;#039;, 1, true) then&lt;br /&gt;
				break&lt;br /&gt;
			end&lt;br /&gt;
			ipairsArgs[k] = true&lt;br /&gt;
			printf(&amp;#039;|%s&amp;#039;, v)&lt;br /&gt;
		end&lt;br /&gt;
		for k,v in pairs(frame.args) do&lt;br /&gt;
			if not ipairsArgs[k] then&lt;br /&gt;
				printf(&amp;#039;|%s=%s&amp;#039;, string.gsub(k, &amp;#039;=&amp;#039;, &amp;#039;{{=}}&amp;#039;), v)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		print(&amp;#039;}}&amp;#039;)&lt;br /&gt;
		local buffer = getBuffer()&lt;br /&gt;
		-- rather than calling expandTemplate with the title and args we have, call preprocess, so that our code example will always match our output, even in the cases of pipes or other things we should have escaped but didn&amp;#039;t&lt;br /&gt;
		return string.format(&amp;#039;&amp;lt;code&amp;gt;%s&amp;lt;/code&amp;gt; &amp;amp;rarr; %s&amp;#039;, mw.text.nowiki(buffer), frame:preprocess(buffer))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return setmetatable({}, mt)&lt;/div&gt;</summary>
		<author><name>Caleb Cooper</name></author>
	</entry>
</feed>