<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ATop_icon</id>
	<title>Module:Top icon - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ATop_icon"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Top_icon&amp;action=history"/>
	<updated>2026-06-07T23:40:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Top_icon&amp;diff=147294&amp;oldid=prev</id>
		<title>imported&gt;Mr. Stradivarius: Removed protection from &quot;Module:Top icon&quot;: on second thoughts, not ready for prime-time</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Top_icon&amp;diff=147294&amp;oldid=prev"/>
		<updated>2015-04-01T14:55:54Z</updated>

		<summary type="html">&lt;p&gt;Removed protection from &amp;quot;&lt;a href=&quot;/research/Module:Top_icon&quot; title=&quot;Module:Top icon&quot;&gt;Module:Top icon&lt;/a&gt;&amp;quot;: on second thoughts, not ready for prime-time&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This module implements {{top icon}}&lt;br /&gt;
&lt;br /&gt;
local categoryHandler = require( &amp;#039;Module:Category handler&amp;#039; ).main&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function makeName(sort, body)&lt;br /&gt;
	local sortnum = tonumber(sort)&lt;br /&gt;
	if sortnum then&lt;br /&gt;
		-- Zero-pad numbers so that they will sort properly in alphabetical&lt;br /&gt;
		-- order. (Yes, there really are decimal sort keys used on enwiki.)&lt;br /&gt;
		sort = string.format(&amp;#039;%07.2f&amp;#039;, sortnum)&lt;br /&gt;
	end&lt;br /&gt;
	math.randomseed(os.clock() * 1000000000)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	ret[#ret + 1] = sort&lt;br /&gt;
	-- There should always be a body value present. This will force numeric&lt;br /&gt;
	-- sort keys to sort alphabetically.&lt;br /&gt;
	ret[#ret + 1] = body&lt;br /&gt;
	-- Add a random number to stop names from duplicating others on a page&lt;br /&gt;
	ret[#ret + 1] = math.random(1, 100000)&lt;br /&gt;
	return table.concat(ret, &amp;#039;-&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeFileLink(t)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	ret[#ret + 1] = &amp;#039;[[File:&amp;#039;&lt;br /&gt;
	ret[#ret + 1] = t.image&lt;br /&gt;
	ret[#ret + 1] = &amp;#039;|&amp;#039;&lt;br /&gt;
	ret[#ret + 1] = t.width or 20&lt;br /&gt;
	ret[#ret + 1] = &amp;#039;x&amp;#039;&lt;br /&gt;
	ret[#ret + 1] = t.height or 20&lt;br /&gt;
	ret[#ret + 1] = &amp;#039;px&amp;#039;&lt;br /&gt;
	if t.link then&lt;br /&gt;
		ret[#ret + 1] = &amp;#039;|link=&amp;#039;&lt;br /&gt;
		ret[#ret + 1] = t.link&lt;br /&gt;
	end&lt;br /&gt;
	if t.alt then&lt;br /&gt;
		ret[#ret + 1] = &amp;#039;|alt=&amp;#039;&lt;br /&gt;
		ret[#ret + 1] = t.alt&lt;br /&gt;
	end&lt;br /&gt;
	if t.text then&lt;br /&gt;
		ret[#ret + 1] = &amp;#039;|&amp;#039;&lt;br /&gt;
		ret[#ret + 1] = t.text&lt;br /&gt;
	end&lt;br /&gt;
	ret[#ret + 1] = &amp;#039;]]&amp;#039;&lt;br /&gt;
	return table.concat(ret)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderCategories(args, title)&lt;br /&gt;
	local categories = categoryHandler{&lt;br /&gt;
		user = args.usercat,&lt;br /&gt;
		main = args.maincat,&lt;br /&gt;
		subpage = args.subpage or &amp;#039;no&amp;#039;,&lt;br /&gt;
		nocat = args.nocat,&lt;br /&gt;
		page = title.prefixedText&lt;br /&gt;
	}&lt;br /&gt;
	return categories or &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args, frame, title)&lt;br /&gt;
	frame = frame or mw.getCurrentFrame()&lt;br /&gt;
	title = title or mw.title.getCurrentTitle()&lt;br /&gt;
	local image = args.image or args.imagename&lt;br /&gt;
	if not image then&lt;br /&gt;
		error(&amp;#039;no image name specified&amp;#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	local name = makeName(&lt;br /&gt;
		args.icon_nr or args.number,&lt;br /&gt;
		args.name or args.id or image&lt;br /&gt;
	)&lt;br /&gt;
	local fileLink = makeFileLink{&lt;br /&gt;
		image = image,&lt;br /&gt;
		width = args.width,&lt;br /&gt;
		height = args.height,&lt;br /&gt;
		link = args.link or args.wikilink,&lt;br /&gt;
		alt = args.alt,&lt;br /&gt;
		text = args.text or args.description&lt;br /&gt;
	}&lt;br /&gt;
	local nowiki = frame:extensionTag{name = &amp;#039;nowiki&amp;#039;}&lt;br /&gt;
	local indicator = frame:extensionTag{&lt;br /&gt;
		name = &amp;#039;indicator&amp;#039;,&lt;br /&gt;
		args = {name = name},&lt;br /&gt;
		content = fileLink&lt;br /&gt;
	}&lt;br /&gt;
	local categories = renderCategories(args, title)&lt;br /&gt;
	return nowiki .. indicator .. categories&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local origArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {&lt;br /&gt;
		parentOnly = true&lt;br /&gt;
	})&lt;br /&gt;
	-- Copy all the specified arguments over to minimise the number of times we&lt;br /&gt;
	-- have to access the frame object.&lt;br /&gt;
	local args = {}&lt;br /&gt;
	for k, v in pairs(origArgs) do&lt;br /&gt;
		args[k] = v&lt;br /&gt;
	end&lt;br /&gt;
	return p._main(args, frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Mr. Stradivarius</name></author>
	</entry>
</feed>