<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.roatpkz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AReferences</id>
	<title>Module:References - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.roatpkz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AReferences"/>
	<link rel="alternate" type="text/html" href="https://wiki.roatpkz.com/index.php?title=Module:References&amp;action=history"/>
	<updated>2026-05-02T20:08:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.roatpkz.com/index.php?title=Module:References&amp;diff=1670&amp;oldid=prev</id>
		<title>Hefner: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://wiki.roatpkz.com/index.php?title=Module:References&amp;diff=1670&amp;oldid=prev"/>
		<updated>2024-03-29T21:41:06Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:41, 29 March 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Hefner</name></author>
	</entry>
	<entry>
		<id>https://wiki.roatpkz.com/index.php?title=Module:References&amp;diff=1669&amp;oldid=prev</id>
		<title>testing&gt;Jayden: Reverted edits by Jayden (talk | block) to last version by Shayani</title>
		<link rel="alternate" type="text/html" href="https://wiki.roatpkz.com/index.php?title=Module:References&amp;diff=1669&amp;oldid=prev"/>
		<updated>2024-03-22T15:28:49Z</updated>

		<summary type="html">&lt;p&gt;Reverted edits by &lt;a href=&quot;/Special:Contributions/Jayden&quot; title=&quot;Special:Contributions/Jayden&quot;&gt;Jayden&lt;/a&gt; (&lt;a href=&quot;/index.php?title=User_talk:Jayden&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:Jayden (page does not exist)&quot;&gt;talk&lt;/a&gt; | &lt;a href=&quot;/Special:Block/Jayden&quot; title=&quot;Special:Block/Jayden&quot;&gt;block&lt;/a&gt;) to last version by &lt;a href=&quot;/Special:Contributions/Shayani&quot; title=&quot;Special:Contributions/Shayani&quot;&gt;Shayani&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--               Master module implementing reference templates               --&lt;br /&gt;
&lt;br /&gt;
local onmain = require(&amp;#039;Module:Mainonly&amp;#039;).on_main&lt;br /&gt;
local paramtest = require(&amp;#039;Module:Paramtest&amp;#039;)&lt;br /&gt;
local hc = paramtest.has_content&lt;br /&gt;
local dt = paramtest.default_to&lt;br /&gt;
local yn = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local lang = mw.getContentLanguage()&lt;br /&gt;
&lt;br /&gt;
local p = {} --all template entrance points here&lt;br /&gt;
local r = {} --reference formatters here to not expose them to #invoke, and to not clutter p&lt;br /&gt;
&lt;br /&gt;
local lostReferenceMsg = &amp;#039;&amp;lt;sup class=&amp;quot;noprint fact&amp;quot;&amp;gt;&amp;amp;#91;&amp;lt;span class=&amp;quot;fact-text&amp;quot;title=&amp;quot;The page referenced can no longer be accessed. Please try to find an archived version of it or another reference for this statement if possible.&amp;quot;&amp;gt;Lost reference&amp;lt;/span&amp;gt;&amp;amp;#93;&amp;lt;/sup&amp;gt;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
function string.starts(String, Start)&lt;br /&gt;
	return string.sub(String, 1, string.len(Start)) == Start&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- for consistent date formats - cons: can&amp;#039;t link dates&lt;br /&gt;
local function formatDate(datep)&lt;br /&gt;
	local datetbl = {}&lt;br /&gt;
	datetbl.day = lang:formatDate(&amp;#039;j&amp;#039;, datep)&lt;br /&gt;
	datetbl.month = lang:formatDate(&amp;#039;F&amp;#039;, datep)&lt;br /&gt;
	datetbl.year = lang:formatDate(&amp;#039;Y&amp;#039;, datep)&lt;br /&gt;
	return lang:formatDate(&amp;#039;j F Y&amp;#039;, datep), datetbl&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- create the ref tag to be returned&lt;br /&gt;
local function reftag(frame, reftype, forcedArgs)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local s = &amp;#039;&amp;#039;&lt;br /&gt;
	local opts = {}&lt;br /&gt;
	&lt;br /&gt;
	if forcedArgs ~= nil then&lt;br /&gt;
		for k, v in pairs(forcedArgs) do&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(args.name) then&lt;br /&gt;
		opts.name = args.name&lt;br /&gt;
	end&lt;br /&gt;
	if hc(args.group) then&lt;br /&gt;
		opts.group = args.group&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local ref, cat = r[reftype](args)&lt;br /&gt;
	&lt;br /&gt;
	return frame:extensionTag{name = &amp;#039;ref&amp;#039;, content = mw.text.tag(&amp;#039;span&amp;#039;, {[&amp;#039;class&amp;#039;]= &amp;#039;citation &amp;#039; .. reftype }, ref .. cat), args = opts}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function plainref(frame, reftype, forcedArgs)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	&lt;br /&gt;
	if forcedArgs ~= nil then&lt;br /&gt;
		for k, v in pairs(forcedArgs) do&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local ref, cat = r[reftype](args)&lt;br /&gt;
	&lt;br /&gt;
	return mw.text.tag(&amp;#039;span&amp;#039;, {[&amp;#039;class&amp;#039;]= &amp;#039;citation &amp;#039; .. reftype }, ref .. cat)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------ Helper Templates -----------------&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:NamedRef]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.namedref(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local opts = {}&lt;br /&gt;
	opts.name = args.name or args[1]&lt;br /&gt;
	if hc(args.group) then&lt;br /&gt;
		opts.group = args.group&lt;br /&gt;
	elseif hc(args[2]) then&lt;br /&gt;
		opts.group = args[2]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return frame:extensionTag{name = &amp;#039;ref&amp;#039;, args = opts}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:Reflist]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.reflist(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local div = mw.html.create(&amp;#039;div&amp;#039;)&lt;br /&gt;
	local resp = 1&lt;br /&gt;
	&lt;br /&gt;
	if hc(args[1]) or hc(args.colwidth) then&lt;br /&gt;
		div:css({ [&amp;#039;column-width&amp;#039;] = args[1] or args.colwidth })&lt;br /&gt;
		resp = 0&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	div&lt;br /&gt;
		:addClass(&amp;#039;reflist&amp;#039;)&lt;br /&gt;
		:wikitext(frame:extensionTag{name = &amp;#039;references&amp;#039;, args = {group = args.group, responsive = resp}})&lt;br /&gt;
	&lt;br /&gt;
	-- Implement {{Notelist}}&lt;br /&gt;
	if args.group == &amp;#039;lower-alpha&amp;#039; then&lt;br /&gt;
		div:addClass(&amp;#039;reflist-lower-alpha&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not yn(args.quotes) then&lt;br /&gt;
		div:addClass(&amp;#039;hideQuotes&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return div&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------RuneScape Citation templates--------------&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteDevBlog]] and [[Template:PlainCiteDevBlog]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.devblogref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;devblog&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.devblogplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;devblog&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.devblog(a)&lt;br /&gt;
	local ref&lt;br /&gt;
	local c = &amp;#039;&amp;#039;&lt;br /&gt;
	ref = dt(a.author, &amp;#039;Jagex&amp;#039;) --author, defaults to Jagex&lt;br /&gt;
	ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
	if hc(a.url) then --url, if present makes a link&lt;br /&gt;
		ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
		if hc(a.title) then&lt;br /&gt;
			ref = ref .. &amp;#039; &amp;quot;&amp;#039; .. a.title .. &amp;#039;.&amp;quot;&amp;#039;--if title not present leave as link&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;]&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		if hc(a.title) then&lt;br /&gt;
			ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.title .. &amp;#039;.&amp;quot;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. &amp;#039; &amp;#039;&lt;br /&gt;
	if hc(a.blogdate) then&lt;br /&gt;
		a.blogdate = formatDate(a.blogdate)&lt;br /&gt;
		ref = ref .. a.blogdate .. &amp;#039;.&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. &amp;quot; Developers&amp;#039; Blogs. &amp;quot;&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not (hc(a.author) and hc(a.url) and hc(a.title) and hc(a.blogdate)) then --validation, required params are author, url, title and blogdate (mainonly)&lt;br /&gt;
		c = &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteDevDiary]] and [[Template:PlainCiteDevDiary]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.devdiaryref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;devdiary&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.devdiaryplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;devdiary&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.devdiary(a)&lt;br /&gt;
	local ref&lt;br /&gt;
	local c = &amp;#039;&amp;#039;&lt;br /&gt;
	ref = dt(a.author, &amp;#039;Jagex&amp;#039;) --author, defaults to Jagex&lt;br /&gt;
	ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
	if hc(a.url) then --url, if present makes a link&lt;br /&gt;
		ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
		if hc(a.title) then&lt;br /&gt;
			ref = ref .. &amp;#039; &amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot;. &amp;#039;--if title not present leave as link&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;]&amp;#039;&lt;br /&gt;
	elseif hc(a.title) then&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.diarydate) then&lt;br /&gt;
		a.diarydate = formatDate(a.diarydate)&lt;br /&gt;
		ref = ref .. a.diarydate .. &amp;#039;.&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. &amp;#039; Development Diaries. &amp;#039;&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not (hc(a.author) and hc(a.url) and hc(a.title) and hc(a.diarydate)) then&lt;br /&gt;
		c = &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteForum]] and [[Template:PlainCiteForum]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.forumref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;forum&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.forumplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;forum&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.forum(a)&lt;br /&gt;
	local ref&lt;br /&gt;
	local c = &amp;#039;&amp;#039;&lt;br /&gt;
	ref = dt(a.author, &amp;#039;Jagex&amp;#039;) --author, defaults to Jagex&lt;br /&gt;
	ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
	if hc(a.url) or hc(a.archiveurl) then --url, if present makes a link&lt;br /&gt;
		if hc(a.archiveurl) then&lt;br /&gt;
			ref = ref .. &amp;#039;[&amp;#039; .. a.archiveurl&lt;br /&gt;
		elseif hc(a.url) then&lt;br /&gt;
			ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
		end&lt;br /&gt;
		if hc(a.title) then&lt;br /&gt;
			ref = ref .. &amp;#039; &amp;quot;&amp;#039; .. a.title .. &amp;#039;.&amp;quot;&amp;#039;--if title not present leave as link&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;]&amp;#039;&lt;br /&gt;
	elseif hc(a.title) then&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.title .. &amp;#039;.&amp;quot;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. &amp;#039; &amp;#039;&lt;br /&gt;
	if hc(a.postdate) then&lt;br /&gt;
		a.postdate = formatDate(a.postdate)&lt;br /&gt;
		ref = ref .. a.postdate .. &amp;#039;.&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.archivedate) then&lt;br /&gt;
		a.archivedate = formatDate(a.archivedate)&lt;br /&gt;
		ref = ref .. &amp;#039; Archived from [&amp;#039; .. a.url .. &amp;#039; the original] on &amp;#039; .. a.archivedate .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. &amp;quot; &amp;#039;&amp;#039;&amp;quot; .. dt(a.forum, &amp;#039;Old School RuneScape&amp;#039;) .. &amp;quot;&amp;#039;&amp;#039; Forums. &amp;quot;&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	if hc(a.lost) then&lt;br /&gt;
		ref = ref .. lostReferenceMsg&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if onmain() then&lt;br /&gt;
		if not (hc(a.author) and hc(a.url) and hc(a.title) and hc(a.postdate)) then&lt;br /&gt;
			c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if a.url and (string.find(a.url, &amp;#039;forum.runescape.com/&amp;#039;, 1, true) or string.find(a.url, &amp;#039;services.runescape.com/m=forum/&amp;#039;, 1, true) or string.find(a.url, &amp;#039;secure.runescape.com/m=forum/&amp;#039;, 1, true)) then&lt;br /&gt;
			if hc(a.lost) then&lt;br /&gt;
				c = c .. &amp;#039;[[Category:Lost forum references]]&amp;#039;&lt;br /&gt;
			elseif not (hc(a.archiveurl) and hc(a.archivedate)) then&lt;br /&gt;
				c = c .. &amp;#039;[[Category:Unarchived forum references]]&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteGodLetter]] and [[Template:PlainCiteGodLetter]]&lt;br /&gt;
--]==]&lt;br /&gt;
local function checkGodLetterURL(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	&lt;br /&gt;
	if not hc(args.url) and not hc(args.archiveurl) then&lt;br /&gt;
		local issues = mw.loadData(&amp;#039;Module:References/GodLetter&amp;#039;)&lt;br /&gt;
		local issueNum = tonumber(args.issue)&lt;br /&gt;
		local article = issues[issueNum]&lt;br /&gt;
		&lt;br /&gt;
		if hc(article) then&lt;br /&gt;
			local newArgs = {}&lt;br /&gt;
			&lt;br /&gt;
			if not hc(args.title) then&lt;br /&gt;
				local title = article:match(&amp;#039;Transcript:(.+)&amp;#039;)&lt;br /&gt;
				&lt;br /&gt;
				if hc(title) then&lt;br /&gt;
					newArgs.title = title:gsub(&amp;#039;_&amp;#039;, &amp;#039; &amp;#039;)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if hc(args.letter) then&lt;br /&gt;
				local letter = args.letter:gsub(&amp;#039; &amp;#039;, &amp;#039;_&amp;#039;):lower()&lt;br /&gt;
				&lt;br /&gt;
				if letter:match(&amp;#039;^%d+$&amp;#039;) then&lt;br /&gt;
					newArgs.title = &amp;#039;[[&amp;#039; .. article .. &amp;#039;#letter_&amp;#039; .. letter .. &amp;#039;|&amp;quot;&amp;#039; .. newArgs.title .. &amp;#039;&amp;quot;]]&amp;#039;&lt;br /&gt;
				elseif letter:match(&amp;#039;^letter_%d+$&amp;#039;) then&lt;br /&gt;
					newArgs.title = &amp;#039;[[&amp;#039; .. article .. &amp;#039;#&amp;#039; .. letter .. &amp;#039;|&amp;quot;&amp;#039; .. newArgs.title .. &amp;#039;&amp;quot;]]&amp;#039;&lt;br /&gt;
				else&lt;br /&gt;
					newArgs.title = &amp;#039;[[&amp;#039; .. article .. &amp;#039;|&amp;quot;&amp;#039; .. newArgs.title .. &amp;#039;&amp;quot;]]&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				newArgs.title = &amp;#039;[[&amp;#039; .. article .. &amp;#039;|&amp;quot;&amp;#039; .. newArgs.title .. &amp;#039;&amp;quot;]]&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			return newArgs&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.godletterref(frame)&lt;br /&gt;
	local forcedArgs = checkGodLetterURL(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;godletter&amp;#039;, forcedArgs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.godletterplain(frame)&lt;br /&gt;
	local forcedArgs = checkGodLetterURL(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;godletter&amp;#039;, forcedArgs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.godletter(a)&lt;br /&gt;
	local ref, c = &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.issue) then&lt;br /&gt;
		ref = ref .. &amp;#039;God Letter &amp;#039; .. a.issue&lt;br /&gt;
		&lt;br /&gt;
		if hc(a.title) then&lt;br /&gt;
			ref = ref .. &amp;#039;: &amp;#039; .. a.title&lt;br /&gt;
		end&lt;br /&gt;
	elseif hc(a.title) then&lt;br /&gt;
		ref = ref .. a.title&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	-- no consistent input, maybe better to just hide it&lt;br /&gt;
--	if hc(a.letter) then&lt;br /&gt;
--		ref = ref .. &amp;#039;. &amp;#039; .. a.letter .. &amp;#039;. &amp;#039;&lt;br /&gt;
--	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. &amp;quot; &amp;#039;&amp;#039;RuneScape&amp;#039;&amp;#039; God Letters. Jagex. &amp;quot; .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not hc(a.issue) then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteLore]] and [[Template:PlainCiteLore]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.loreref (frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;lore&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.loreplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;lore&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.lore(a)&lt;br /&gt;
	local ref, c = &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.title) then&lt;br /&gt;
		ref = ref .. &amp;#039;[[Transcript:&amp;#039; .. a.title&lt;br /&gt;
		if hc(a.sectitle) and yn(a.sectitle, true) then&lt;br /&gt;
			ref = ref .. &amp;#039;#&amp;#039; .. a.sectitle .. &amp;#039;|&amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot;]]. &amp;lt;i&amp;gt;§ &amp;#039; .. a.sectitle .. &amp;#039;&amp;lt;/i&amp;gt; &amp;#039; &lt;br /&gt;
		else&lt;br /&gt;
			ref = ref .. &amp;#039;|&amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot;]]. &amp;#039; &lt;br /&gt;
		end&lt;br /&gt;
	elseif hc(a.sectitle) and yn(a.sectitle, true) then&lt;br /&gt;
		ref = ref ..&amp;#039;[[&amp;#039; .. a.sectitle .. &amp;#039;]]. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. &amp;quot;&amp;#039;&amp;#039;RuneScape&amp;#039;&amp;#039; Lores and Histories. Jagex. &amp;quot;&lt;br /&gt;
	if hc(a.quote) then&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.quote .. &amp;#039;&amp;quot; &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not hc(a.title) then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteNews]] and [[Template:PlainCiteNews]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.newsref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;news&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.newsplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;news&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.news(a)&lt;br /&gt;
	local ref, c = &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
	local upns = hc(a.title) and &amp;#039;Update:&amp;#039; .. a.title&lt;br /&gt;
	local archiveurl&lt;br /&gt;
	local osrspost = false&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.url) and hc(a.title) and mw.title.new(upns).exists then --update: ns, ifexists makes a link&lt;br /&gt;
		ref = ref .. &amp;#039;[[&amp;#039; .. upns .. &amp;#039;|&amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot;]].&amp;#039;&lt;br /&gt;
		archiveurl = a.url&lt;br /&gt;
		osrspost = true&lt;br /&gt;
	elseif hc(a.url) then --url, if present makes a link&lt;br /&gt;
		ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
		if hc(a.title) then&lt;br /&gt;
			ref = ref .. &amp;#039; &amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot;&amp;#039;--if title not present leave as link&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;].&amp;#039;&lt;br /&gt;
	elseif hc(a.title) then&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local newsdatetbl = {}&lt;br /&gt;
	if hc(a.newsdate) then&lt;br /&gt;
		a.newsdate, newsdatetbl = formatDate(a.newsdate)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if osrspost and (hc(a.newsdate) and tonumber(newsdatetbl.year) &amp;gt;= 2013) then&lt;br /&gt;
		ref = ref .. &amp;quot; &amp;#039;&amp;#039;Old School RuneScape&amp;#039;&amp;#039; News. &amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		ref = ref .. &amp;quot; &amp;#039;&amp;#039;RuneScape&amp;#039;&amp;#039; News. &amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.author) then&lt;br /&gt;
		ref = ref .. a.author .. &amp;#039;. &amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		ref = ref .. &amp;#039;Jagex. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. &amp;#039; &amp;#039;&lt;br /&gt;
	if hc(a.newsdate) then&lt;br /&gt;
		ref = ref .. a.newsdate .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if archiveurl then&lt;br /&gt;
		ref = ref .. &amp;#039;Archived from [&amp;#039; .. archiveurl .. &amp;#039; the original]. &amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		ref = ref .. &amp;#039;Archived from the original. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a.date then&lt;br /&gt;
		mw.addWarning(&amp;#039;[[Template:CiteNews]] is using `date` parameter instead of `newsdate`&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.quote) then&lt;br /&gt;
		ref = ref .. &amp;#039; &amp;quot;&amp;#039; .. a.quote .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not (hc(a.url) and hc(a.title) and hc(a.newsdate)) then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteNPC]] and [[Template:PlainCiteNPC]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.npcref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;npc&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.npcplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;npc&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.npc(a)&lt;br /&gt;
	local ref = &amp;#039;&amp;#039;&lt;br /&gt;
	local c = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.npc) then&lt;br /&gt;
--		if mw.title.new(a.npc) then&lt;br /&gt;
			ref = ref .. &amp;#039;[[&amp;#039; .. a.npc .. &amp;#039;]]&amp;#039;&lt;br /&gt;
--		else&lt;br /&gt;
--			ref = ref .. a.npc&lt;br /&gt;
--		end&lt;br /&gt;
	end&lt;br /&gt;
	if hc(a.loc) then&lt;br /&gt;
		ref = ref .. &amp;#039; in [[&amp;#039; .. a.loc .. &amp;#039;]]. &amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. &amp;quot;&amp;#039;&amp;#039;Old School RuneScape&amp;#039;&amp;#039;. &amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local islist&lt;br /&gt;
	if hc(a.quote) then&lt;br /&gt;
		islist = mw.ustring.match( a.quote, &amp;#039;^%s*%*.*\n%*&amp;#039; )&lt;br /&gt;
		local quote = islist and (&amp;#039;\n&amp;#039; .. a.quote) or &amp;#039;&amp;quot;&amp;#039; .. a.quote .. &amp;#039;&amp;quot; &amp;#039;&lt;br /&gt;
		local span = mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
		if islist then&lt;br /&gt;
			span:newline()&lt;br /&gt;
		end&lt;br /&gt;
		span:wikitext(quote)&lt;br /&gt;
		ref = ref .. tostring(span)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not ((hc(a.npc) or islist) and hc(a.quote)) then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CitePoll]] and [[Template:PlainCitePoll]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.pollref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;poll&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.pollplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;poll&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.poll(a)&lt;br /&gt;
	local ref, c = &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
	local pns = hc(a.poll) and &amp;#039;Poll:&amp;#039; .. a.poll&lt;br /&gt;
	local archive = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	-- largely resembling r.news&lt;br /&gt;
	if hc(a.url) and hc(a.poll) and mw.title.new(pns).exists then&lt;br /&gt;
		ref = ref .. &amp;#039;[[&amp;#039; .. pns .. &amp;#039;|&amp;quot;&amp;#039; .. a.poll .. &amp;#039;&amp;quot;]]. &amp;#039;&lt;br /&gt;
		archive = &amp;#039; Archived from [&amp;#039; .. a.url .. &amp;#039; the original].&amp;#039;&lt;br /&gt;
	elseif hc(a.url) then&lt;br /&gt;
		ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
		if hc(a.poll) then&lt;br /&gt;
			ref = ref .. &amp;#039; &amp;quot;&amp;#039; .. a.poll .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;]. &amp;#039;&lt;br /&gt;
	elseif hc(a.poll) then&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.poll .. &amp;#039;&amp;quot;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.question) and yn(a.question, true) then&lt;br /&gt;
		red = ref .. &amp;#039;Question &amp;#039; .. a.question .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.polldate) then&lt;br /&gt;
		a.polldate = formatDate(a.polldate)&lt;br /&gt;
		ref = ref .. a.polldate .. &amp;#039;.&amp;#039; .. archive&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. &amp;quot; &amp;#039;&amp;#039;Old School RuneScape&amp;#039;&amp;#039; Polls. Jagex. &amp;quot;&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not (hc(a.url) and hc(a.poll) and hc(a.question) and hc(a.polldate)) then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CitePostbag]] and [[Template:PlainCitePostbag]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.postbagref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;postbag&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.postbagplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;postbag&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.postbag(a)&lt;br /&gt;
	local ref, c = &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	local anchor = false&lt;br /&gt;
	local anchorval&lt;br /&gt;
	local postbags = mw.loadData(&amp;#039;Module:References/Postbag&amp;#039;)&lt;br /&gt;
	local pbpagename = postbags[tonumber(a.issue)]&lt;br /&gt;
	local pbname = pbpagename:gsub( &amp;#039;Transcript:&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.letter) then&lt;br /&gt;
		anchorval = a.letter&lt;br /&gt;
		if anchorval == tostring(tonumber(anchor)) then&lt;br /&gt;
			anchorval = tonumber(anchor)&lt;br /&gt;
			if anchorval == math.floor(anchor) and anchor &amp;gt;= 1 and anchor &amp;lt;= 15 then&lt;br /&gt;
				anchor = true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
--	if hc(a.author) and mw.title.new(a.author).exists then -- ifexists makes a link&lt;br /&gt;
--		ref = ref .. &amp;#039;[[&amp;#039; .. a.author .. &amp;#039;]]. &amp;#039;&lt;br /&gt;
--	else&lt;br /&gt;
		if hc(a.author) then&lt;br /&gt;
		ref = ref .. a.author .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.issue) then&lt;br /&gt;
		if pbpagename then&lt;br /&gt;
			ref = ref .. &amp;#039;Postbag &amp;#039; .. a.issue .. &amp;#039;: [[&amp;#039; .. pbpagename .. &amp;#039;#&amp;#039;&lt;br /&gt;
			if anchor then&lt;br /&gt;
				ref = ref .. &amp;#039;letter &amp;#039; .. a.letter&lt;br /&gt;
			else&lt;br /&gt;
				ref = ref .. a.letter&lt;br /&gt;
			end&lt;br /&gt;
			ref = ref .. &amp;#039;|&amp;quot;&amp;#039; .. pbname .. &amp;#039;&amp;quot;]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			ref = ref .. &amp;#039;Postbag &amp;#039; .. a.issue&lt;br /&gt;
			if hc(a.title) then&lt;br /&gt;
				ref = ref .. &amp;#039;: &amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif hc(a.title) then&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if hc(a.letter) then&lt;br /&gt;
		if ref ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if anchor then&lt;br /&gt;
			ref = ref .. &amp;#039;letter #&amp;#039; .. a.letter&lt;br /&gt;
		else&lt;br /&gt;
			ref = ref .. a.letter&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a.issue &amp;gt;= &amp;#039;22&amp;#039; then&lt;br /&gt;
		ref = ref .. &amp;quot;. &amp;#039;&amp;#039;Old School RuneScape&amp;#039;&amp;#039; Postbags from the Hedge. &amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		ref = ref .. &amp;quot;. &amp;#039;&amp;#039;RuneScape&amp;#039;&amp;#039; Postbags from the Hedge. &amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. &amp;#039;Jagex. &amp;#039; .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	if hc(a.quote) then&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.quote .. &amp;#039;&amp;quot; &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not (hc(a.issue) and hc(a.letter) and hc(a.author)) then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteText]] and [[Template:PlainCiteText]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.textref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;text&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.textplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;text&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.text(a)&lt;br /&gt;
	local ref, c = &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.author) then&lt;br /&gt;
		ref = ref .. &amp;#039;[[&amp;#039; .. a.author .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		if not hc(a.loc) then&lt;br /&gt;
			ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.loc) then&lt;br /&gt;
		if hc(a.author) then&lt;br /&gt;
			ref = ref .. &amp;#039; in [[&amp;#039; .. a.loc .. &amp;#039;]]. &amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			ref = ref .. &amp;#039;In [[&amp;#039; .. a.loc .. &amp;#039;]]. &amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.text) then&lt;br /&gt;
		-- crude fix incase link is piped via {{!}}&lt;br /&gt;
		local link, pipe = a.text, a.text&lt;br /&gt;
		if a.text:match(&amp;#039;|&amp;#039;) then&lt;br /&gt;
			mw.log(&amp;#039;saw it! &amp;#039; .. a.text)&lt;br /&gt;
			link = a.text:match(&amp;#039;^.-|&amp;#039;):gsub(&amp;#039;%|$&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
			pipe = a.text:match(&amp;#039;|.-$&amp;#039;):gsub(&amp;#039;^%|&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
			mw.log(pipe) mw.log(link)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		ref = ref .. &amp;#039;[[&amp;#039; .. link .. &amp;#039;|&amp;quot;&amp;#039; .. pipe .. &amp;#039;&amp;quot;]]. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.page) then&lt;br /&gt;
		ref = ref .. &amp;#039;Page &amp;#039; .. a.page .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. &amp;quot;&amp;#039;&amp;#039;Old School RuneScape&amp;#039;&amp;#039;. &amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.quote) then&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.quote .. &amp;#039;&amp;quot; &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not (hc(a.text) and hc(a.quote)) then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------ General Citation Templates -----------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CitePub]] and [[Template:PlainCitePub]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.pubref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;pub&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.pubplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;pub&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.pub(a)&lt;br /&gt;
	local ref = &amp;#039;&amp;#039;&lt;br /&gt;
	local c = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.author) then&lt;br /&gt;
		ref = a.author .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local str = &amp;#039;&amp;#039;&lt;br /&gt;
	if hc(a.title) then&lt;br /&gt;
		ref = ref .. &amp;quot;&amp;#039;&amp;#039;&amp;quot; .. a.title .. &amp;quot;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
		if hc(a.pages) then&lt;br /&gt;
			ref = ref .. &amp;#039;, (&amp;#039; .. a.pages .. &amp;#039;)&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if hc(a.publisher) then&lt;br /&gt;
		ref = ref .. a.publisher&lt;br /&gt;
		if hc(a.pubyear) then&lt;br /&gt;
			ref = ref .. &amp;#039;, &amp;#039; .. a.pubyear&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
	elseif hc(a.pubyear) then&lt;br /&gt;
		ref = ref .. a.pubyear .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not (hc(a.title) and hc(a.publisher) and hc(a.pubyear)) then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteTwitter]] and [[Template:PlainCiteTwitter]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.twitterref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;twitter&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.twitterplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;twitter&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.twitter(a)&lt;br /&gt;
	local ref&lt;br /&gt;
	local c = &amp;#039;&amp;#039;&lt;br /&gt;
	ref = &amp;#039;Jagex. &amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.url) or hc(a.archiveurl) then --url, if present makes a link&lt;br /&gt;
		if hc(a.archiveurl) then&lt;br /&gt;
			ref = ref .. &amp;#039;[&amp;#039; .. a.archiveurl&lt;br /&gt;
		elseif hc(a.url) then&lt;br /&gt;
			ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
		end&lt;br /&gt;
		if hc(a.author) then&lt;br /&gt;
			ref = ref .. &amp;#039; &amp;#039; .. a.author .. &amp;quot;&amp;#039;s Twitter account&amp;quot;--if title not present leave as link&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;]. &amp;#039;&lt;br /&gt;
	elseif hc(a.author) then&lt;br /&gt;
		ref = ref .. &amp;#039; &amp;#039; .. a.author .. &amp;quot;&amp;#039;s Twitter account. &amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.date) then&lt;br /&gt;
		a.date = formatDate(a.date)&lt;br /&gt;
		ref = ref .. a.date .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.archivedate) then&lt;br /&gt;
		a.archivedate = formatDate(a.archivedate)&lt;br /&gt;
		ref = ref .. &amp;#039; Archived from [&amp;#039; .. a.url .. &amp;#039; the original] on &amp;#039; .. a.archivedate .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.quote) then&lt;br /&gt;
		if hc(a.author) then&lt;br /&gt;
			ref = ref .. a.author .. &amp;#039;: &amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.quote .. &amp;#039;&amp;quot; &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	if hc(a.lost) then&lt;br /&gt;
		ref = ref .. lostReferenceMsg&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local err = &amp;#039;&amp;#039;&lt;br /&gt;
	if not (hc(a.url) and hc(a.author) and hc(a.date)) then&lt;br /&gt;
		err = err .. &amp;quot;Error calling CiteTwitter: parameters &amp;#039;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;author&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;quote&amp;#039;&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;&amp;#039;date&amp;#039;&amp;#039;&amp;#039; must be specified.&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.archiveurl) ~= hc(a.archivedate) then --xor&lt;br /&gt;
		err = err .. &amp;quot;Error calling CiteTwitter: parameters &amp;#039;&amp;#039;&amp;#039;archiveurl&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;archivedate&amp;#039;&amp;#039;&amp;#039; must both be specified or both be unspecified.&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and err ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not hc(a.archiveurl) then&lt;br /&gt;
		if hc(a.lost) then&lt;br /&gt;
			c = c .. &amp;#039;[[Category:Lost Twitter references]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			c = c .. &amp;#039;[[Category:Unarchived Twitter references]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteVideo]] and [[Template:PlainCiteVideo]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.videoref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;video&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.videoplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;video&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.video(a)&lt;br /&gt;
	local ref&lt;br /&gt;
	local c = &amp;#039;&amp;#039;&lt;br /&gt;
	if hc(a.author) then&lt;br /&gt;
		ref = a.author .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if hc(a.url) then --url, if present makes a link&lt;br /&gt;
		if string.lower(a.site) == &amp;#039;youtube&amp;#039; then&lt;br /&gt;
			if string.starts(a.url, &amp;#039;https://www.youtube.com/watch?v=&amp;#039;) then&lt;br /&gt;
				ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
			else&lt;br /&gt;
				ref = ref .. &amp;#039;[https://www.youtube.com/watch?v=&amp;#039; .. a.url&lt;br /&gt;
			end&lt;br /&gt;
		elseif string.lower(a.site) == &amp;#039;twitch&amp;#039; then&lt;br /&gt;
			if string.starts(a.url, &amp;#039;https://www.twitch.tv/videos/&amp;#039;) then&lt;br /&gt;
				ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
			elseif string.starts(a.url, &amp;#039;https://clips.twitch.tv/&amp;#039;) then&lt;br /&gt;
				ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
			else&lt;br /&gt;
				ref = ref .. &amp;#039;[https://www.twitch.tv/videos/&amp;#039; .. a.url&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
		end&lt;br /&gt;
		if hc(a.title) then&lt;br /&gt;
			ref = ref .. &amp;#039; &amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot;&amp;#039;--if title not present leave as link&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;] &amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		if hc(a.title) then&lt;br /&gt;
			ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.title .. &amp;#039;&amp;quot; &amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.timestamp) then&lt;br /&gt;
		ref = ref .. &amp;#039;(in &amp;#039; .. a.timestamp .. &amp;#039;). &amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	ref = ref .. dt(a.site, &amp;#039;YouTube&amp;#039;) .. &amp;#039; video. &amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.date) then&lt;br /&gt;
		a.date = formatDate(a.date)&lt;br /&gt;
		ref = ref .. a.date .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if onmain() then&lt;br /&gt;
		if not (hc(a.author) and hc(a.url) and hc(a.title) and hc(a.date)) then&lt;br /&gt;
			c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteGeneral]] and [[Template:PlainCiteGeneral]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.generalref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;general&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.generalplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;general&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.general(a)&lt;br /&gt;
	local ref = &amp;#039;&amp;#039;&lt;br /&gt;
	local c = &amp;#039;&amp;#039;&lt;br /&gt;
	local str = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.author) or hc(a.last) then&lt;br /&gt;
		if hc(a.last) then&lt;br /&gt;
			str = a.last&lt;br /&gt;
			if hc(a.first) then&lt;br /&gt;
				str = str .. &amp;#039;, &amp;#039; .. a.first&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			str = a.author&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hc(a.authorlink) then&lt;br /&gt;
			ref = ref .. &amp;#039;[&amp;#039; .. a.authorlink&lt;br /&gt;
			if str ~= &amp;#039;&amp;#039; then&lt;br /&gt;
				ref = ref .. &amp;#039; &amp;#039; .. str&lt;br /&gt;
			end&lt;br /&gt;
			ref = ref .. &amp;#039;]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			ref = ref .. str&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if hc(a.coauthors) then&lt;br /&gt;
			ref = ref .. &amp;#039;; &amp;#039; .. a.coauthors&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.title) then&lt;br /&gt;
		if hc(a.archiveurl) then&lt;br /&gt;
			ref = ref .. &amp;#039;[&amp;#039; .. a.archiveurl .. &amp;#039; &amp;#039; .. a.title .. &amp;#039;]&amp;#039;&lt;br /&gt;
		elseif hc(a.url) then&lt;br /&gt;
			ref = ref .. &amp;#039;[&amp;#039; .. a.url .. &amp;#039; &amp;#039; .. a.title .. &amp;#039;]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.format) then&lt;br /&gt;
		ref = ref .. &amp;#039; (&amp;#039; .. a.format .. &amp;#039;)&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.language) then&lt;br /&gt;
		ref = ref .. &amp;#039; (in &amp;#039; .. a.language .. &amp;#039;)&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.work) then&lt;br /&gt;
		ref = ref .. &amp;quot;. &amp;#039;&amp;#039;&amp;quot; .. a.work .. &amp;quot;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.pages) then&lt;br /&gt;
		ref = ref .. &amp;#039; pp. &amp;#039; .. a.pages&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.publisher) then&lt;br /&gt;
		ref = ref .. &amp;#039;. &amp;#039; .. a.publisher&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.date) then&lt;br /&gt;
		a.date = formatDate(a.date)&lt;br /&gt;
		ref = ref .. &amp;#039;. &amp;#039; .. a.date&lt;br /&gt;
	elseif hc(a.year) then&lt;br /&gt;
		if hc(a.month) then&lt;br /&gt;
			ref = ref .. &amp;#039;. &amp;#039; .. a.month .. &amp;#039; &amp;#039; .. a.year&lt;br /&gt;
		else&lt;br /&gt;
			ref = ref .. &amp;#039;. &amp;#039; .. a.year&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if ref ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		ref = ref .. &amp;#039;.&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.archivedate) then&lt;br /&gt;
		a.archivedate = formatDate(a.archivedate)&lt;br /&gt;
		ref = ref .. &amp;#039; Archived from [&amp;#039; .. a.url .. &amp;#039; the original] on &amp;#039; .. a.archivedate .. &amp;#039;.&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.quote) then&lt;br /&gt;
		ref = ref .. &amp;#039; &amp;quot;&amp;#039; .. a.quote .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.notes) then&lt;br /&gt;
		ref = ref .. &amp;#039; &amp;#039; .. a.notes&lt;br /&gt;
	end&lt;br /&gt;
	if hc(a.lost) then&lt;br /&gt;
		ref = ref .. lostReferenceMsg&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local err = &amp;#039;&amp;#039;&lt;br /&gt;
	if not (hc(a.url) and hc(a.title)) then&lt;br /&gt;
		err = err .. &amp;quot;Error calling CiteGeneral: parameters &amp;#039;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;title&amp;#039;&amp;#039;&amp;#039; must be specified.&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if hc(a.archiveurl) ~= hc(a.archivedate) then --xor&lt;br /&gt;
		err = err .. &amp;quot;Error calling CiteGeneral: parameters &amp;#039;&amp;#039;&amp;#039;archiveurl&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;archivedate&amp;#039;&amp;#039;&amp;#039; must both be specified or both be unspecified.&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if not (hc(a.archiveurl) and hc(a.archivedate)) then&lt;br /&gt;
		ref = err .. ref .. mw.getCurrentFrame():expandTemplate{title = &amp;#039;RefDate&amp;#039;, args = { (a.accessdate or &amp;#039;&amp;#039;), &amp;#039;180&amp;#039;} }&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and err ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	--[==[ are these needed?&lt;br /&gt;
	if onmain() and not hc(a.archiveurl) then&lt;br /&gt;
		if hc(a.lost) then&lt;br /&gt;
			c = c .. &amp;#039;[[Category:Lost web references]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			c = c .. &amp;#039;[[Category:Unarchived web references]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	]==]--&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
[[Template:CiteReddit]] and [[Template:PlainCiteReddit]]&lt;br /&gt;
--]==]&lt;br /&gt;
function p.redditref(frame)&lt;br /&gt;
	return reftag(frame, &amp;#039;reddit&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.redditplain(frame)&lt;br /&gt;
	return plainref(frame, &amp;#039;reddit&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function r.reddit(a)&lt;br /&gt;
	local ref, c = &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	ref = dt(a.author, &amp;#039;Jagex&amp;#039;) --author, defaults to Jagex&lt;br /&gt;
	ref = ref .. &amp;#039;. &amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.url) or hc(a.archiveurl) then --url, if present makes a link&lt;br /&gt;
		if hc(a.archiveurl) then&lt;br /&gt;
			ref = ref .. &amp;#039;[&amp;#039; .. a.archiveurl&lt;br /&gt;
		elseif hc(a.url) then&lt;br /&gt;
			ref = ref .. &amp;#039;[&amp;#039; .. a.url&lt;br /&gt;
		end&lt;br /&gt;
		if hc(a.title) then&lt;br /&gt;
			ref = ref .. &amp;#039; &amp;quot;&amp;#039; .. a.title&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;]. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. &amp;quot;&amp;#039;&amp;#039;Reddit&amp;#039;&amp;#039;. &amp;quot;&lt;br /&gt;
	if hc(a.date) then&lt;br /&gt;
		a.date = formatDate(a.date)&lt;br /&gt;
		ref = ref .. a.date .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.archivedate) then&lt;br /&gt;
		a.archivedate = formatDate(a.archivedate)&lt;br /&gt;
		ref = ref .. &amp;#039; Archived from [&amp;#039; .. a.url .. &amp;#039; the original] on &amp;#039; .. a.archivedate .. &amp;#039;. &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.quote) then&lt;br /&gt;
		if hc(a.author) then&lt;br /&gt;
			ref = ref .. a.author .. &amp;#039;: &amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		ref = ref .. &amp;#039;&amp;quot;&amp;#039; .. a.quote .. &amp;#039;&amp;quot; &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ref = ref .. (a.notes or &amp;#039;&amp;#039;)&lt;br /&gt;
	if hc(a.lost) then&lt;br /&gt;
		ref = ref .. lostReferenceMsg&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local err = &amp;#039;&amp;#039;&lt;br /&gt;
	if not (hc(a.url) and hc(a.author) and hc(a.quote) and hc(a.date) and hc(a.title)) then&lt;br /&gt;
		err = err .. &amp;quot;Error calling CiteReddit: parameters &amp;#039;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;author&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;quote&amp;#039;&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;&amp;#039;date&amp;#039;&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;&amp;#039;title&amp;#039;&amp;#039;&amp;#039; must be specified.&amp;lt;br /&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if hc(a.archiveurl) ~= hc(a.archivedate) then --xor&lt;br /&gt;
		err = err .. &amp;quot;Error calling CiteReddit: parameters &amp;#039;&amp;#039;&amp;#039;archiveurl&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;archivedate&amp;#039;&amp;#039;&amp;#039; must both be specified or both be unspecified.&amp;lt;br /&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and err ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Incomplete references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if onmain() and not hc(a.archiveurl) then&lt;br /&gt;
		c = c .. &amp;#039;[[Category:Unarchived Reddit references]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return ref, c&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>testing&gt;Jayden</name></author>
	</entry>
</feed>