<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://moasspedia.org/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AGAN_link</id>
	<title>Module:GAN link - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://moasspedia.org/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AGAN_link"/>
	<link rel="alternate" type="text/html" href="https://moasspedia.org/w/index.php?title=Module:GAN_link&amp;action=history"/>
	<updated>2026-04-18T11:01:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://moasspedia.org/w/index.php?title=Module:GAN_link&amp;diff=1308&amp;oldid=prev</id>
		<title>Wikipedia&gt;Mr. Stradivarius: fix error message for bad nomination page titles</title>
		<link rel="alternate" type="text/html" href="https://moasspedia.org/w/index.php?title=Module:GAN_link&amp;diff=1308&amp;oldid=prev"/>
		<updated>2016-12-16T03:47:35Z</updated>

		<summary type="html">&lt;p&gt;fix error message for bad nomination page titles&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This module implements {{GAN link}}.&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function getGANIcon()&lt;br /&gt;
	return require(&amp;#039;Module:Icon&amp;#039;)._main{&amp;#039;GAN&amp;#039;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeWikilink(page, display)&lt;br /&gt;
	if display and display ~= page then&lt;br /&gt;
		return string.format(&amp;#039;[[%s|%s]]&amp;#039;, page, display)&lt;br /&gt;
	else&lt;br /&gt;
		return string.format(&amp;#039;[[%s]]&amp;#039;, page)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getNominationPage(article, number)&lt;br /&gt;
	return string.format(&amp;#039;Talk:%s/GA%d&amp;#039;, article, number)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeArticleLink(options)&lt;br /&gt;
	assert(options.article, &amp;#039;options.article not specified&amp;#039;)&lt;br /&gt;
	assert(options.formattedArticle, &amp;#039;options.formattedArticle not specified&amp;#039;)&lt;br /&gt;
	local display&lt;br /&gt;
	if options.isItalic then&lt;br /&gt;
		display = string.format(&amp;#039;&amp;lt;i&amp;gt;%s&amp;lt;/i&amp;gt;&amp;#039;, options.article)&lt;br /&gt;
	elseif options.display then&lt;br /&gt;
		display = options.display&lt;br /&gt;
	else&lt;br /&gt;
		display = options.formattedArticle&lt;br /&gt;
	end&lt;br /&gt;
	return makeWikilink(options.article, display)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeExistingNominationLink(nominationPage)&lt;br /&gt;
	return makeWikilink(nominationPage, &amp;#039;nom&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeNewNominationLink(nominationPage)&lt;br /&gt;
	local url = mw.uri.fullUrl(nominationPage, {&lt;br /&gt;
		action    = &amp;#039;edit&amp;#039;,&lt;br /&gt;
		editintro = &amp;#039;Template:GAN/editintro&amp;#039;,&lt;br /&gt;
		preload   = &amp;#039;Template:GAN/preload&amp;#039;,&lt;br /&gt;
	})&lt;br /&gt;
	return string.format(&lt;br /&gt;
		&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;lt;span class=&amp;#039;plainlinks&amp;#039;&amp;gt;[%s start]&amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;quot;,&lt;br /&gt;
		tostring(url)&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeNominationLink(nominationPage)&lt;br /&gt;
	assert(nominationPage, &amp;#039;no nominationPage argument given to makeNominationLink&amp;#039;)&lt;br /&gt;
	local title = mw.title.new(nominationPage)&lt;br /&gt;
	if not title then&lt;br /&gt;
		error(string.format(&amp;#039;%s is not a valid title&amp;#039;, nominationPage), 2)&lt;br /&gt;
	elseif title.exists then&lt;br /&gt;
		return makeExistingNominationLink(nominationPage)&lt;br /&gt;
	else&lt;br /&gt;
		return makeNewNominationLink(nominationPage)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	-- Link parameters&lt;br /&gt;
	local formattedArticle = args[1]&lt;br /&gt;
	if not formattedArticle then&lt;br /&gt;
		error(&amp;#039;No article specified&amp;#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	local article = formattedArticle:gsub(&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot;, &amp;quot;&amp;quot;):gsub(&amp;quot;&amp;#039;&amp;#039;&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	local display = args[2]&lt;br /&gt;
&lt;br /&gt;
	-- Number&lt;br /&gt;
	local number&lt;br /&gt;
	if args[&amp;#039;#&amp;#039;] then&lt;br /&gt;
		number = tonumber(args[&amp;#039;#&amp;#039;])&lt;br /&gt;
		if not number then&lt;br /&gt;
			error(&amp;quot;&amp;#039;%s&amp;#039; is not a valid number&amp;quot;, args[&amp;#039;#&amp;#039;])&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		number = 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Formatting parameters&lt;br /&gt;
	local hasIcon = not not args.icon&lt;br /&gt;
	local isItalic = not not args.i&lt;br /&gt;
&lt;br /&gt;
	-- Output&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	if hasIcon then&lt;br /&gt;
		ret[#ret + 1] = getGANIcon()&lt;br /&gt;
	end&lt;br /&gt;
	ret[#ret + 1] = makeArticleLink{&lt;br /&gt;
		article = article,&lt;br /&gt;
		formattedArticle = formattedArticle,&lt;br /&gt;
		display = display,&lt;br /&gt;
		isItalic = isItalic,&lt;br /&gt;
	}&lt;br /&gt;
	ret[#ret + 1] = string.format(&lt;br /&gt;
		&amp;#039;(%s)&amp;#039;,&lt;br /&gt;
		makeNominationLink(getNominationPage(article, number))&lt;br /&gt;
	)&lt;br /&gt;
	return table.concat(ret, &amp;#039; &amp;#039;)&lt;br /&gt;
end&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;
		wrappers = &amp;#039;Template:GAN link&amp;#039;&lt;br /&gt;
	})&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Wikipedia&gt;Mr. Stradivarius</name></author>
	</entry>
</feed>