<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Module%3ALoad_WikiProject_Modules</id>
	<title>Module:Load WikiProject Modules - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Module%3ALoad_WikiProject_Modules"/>
	<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Module:Load_WikiProject_Modules&amp;action=history"/>
	<updated>2026-04-21T00:12:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://70.231.62.181/index.php?title=Module:Load_WikiProject_Modules&amp;diff=20492425&amp;oldid=prev</id>
		<title>imported&gt;Myotus at 00:52, 24 February 2025</title>
		<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Module:Load_WikiProject_Modules&amp;diff=20492425&amp;oldid=prev"/>
		<updated>2025-02-24T00:52:48Z</updated>

		<summary type="html">&lt;p&gt;&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;
&lt;br /&gt;
local function standardicon(modulename)&lt;br /&gt;
	-- Take modulename as input, returns corresponding icon filename&lt;br /&gt;
	-- Returns default icon if no icon is defined&lt;br /&gt;
	&lt;br /&gt;
	-- Grow the library! Add default icons as needed by adding this line below:&lt;br /&gt;
	-- [&amp;#039;MODULENAME&amp;#039;] = &amp;#039;FILE NAME.ext&amp;#039;,&lt;br /&gt;
	local index = {&lt;br /&gt;
		[&amp;#039;default&amp;#039;] = &amp;#039;Beta icon.svg&amp;#039;, -- default if nothing matches&lt;br /&gt;
		[&amp;#039;About&amp;#039;] = &amp;#039;Information Noun 176431.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;About us&amp;#039;] = &amp;#039;Information Noun 176431.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Alerts&amp;#039;] = &amp;#039;Bell icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Article alerts&amp;#039;] = &amp;#039;Bell icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Article Alerts&amp;#039;] = &amp;#039;Bell icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Partners&amp;#039;] = &amp;#039;Handshake noun.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Partnerships&amp;#039;] = &amp;#039;Handshake noun.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Discussions&amp;#039;] = &amp;#039;Speechbubbles icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Events&amp;#039;] = &amp;#039;Simpleicons Business calendar-with-a-clock-time-tools.svg&amp;#039;, -- Is this PD-shapes?&lt;br /&gt;
		[&amp;#039;External Links&amp;#039;] = &amp;#039;Link icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;External links&amp;#039;] = &amp;#039;Link icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Links&amp;#039;] = &amp;#039;Link icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Maps&amp;#039;] = &amp;#039;MapPin.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Metrics&amp;#039;] = &amp;#039;ArticleCheck.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Assessments&amp;#039;] = &amp;#039;ArticleCheck.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;News&amp;#039;] = &amp;#039;Calendar icon 2.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Offline App&amp;#039;] = &amp;#039;Offline logo.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Press&amp;#039;] = &amp;#039;Cite newspaper.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Recent changes&amp;#039;] = &amp;#039;Clock icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Recent Changes&amp;#039;] = &amp;#039;Clock icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Recognized content&amp;#039;] = &amp;#039;RibbonPrize.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Recognized Content&amp;#039;] = &amp;#039;RibbonPrize.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Related Projects&amp;#039;] = &amp;#039;Contributions icon.svg&amp;#039;, -- Not for use for the update bot, special use case, that expands the page	&lt;br /&gt;
		[&amp;#039;Related WikiProjects&amp;#039;] = &amp;#039;Contributions icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Requests&amp;#039;] = &amp;#039;Quotes icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Research&amp;#039;] = &amp;#039;Microscope icon (black OCL).svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Resources&amp;#039;] = &amp;#039;Cite book.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Showcase&amp;#039;] = &amp;#039;RibbonPrize.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Tasks&amp;#039;] = &amp;#039;ListBullet.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Tools&amp;#039;] = &amp;#039;Octicons-tools-minor.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Translations&amp;#039;] = &amp;#039;Translation icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Watchlist&amp;#039;] = &amp;#039;OpenEye icon.svg&amp;#039;,&lt;br /&gt;
		[&amp;#039;Worklists&amp;#039;] = &amp;#039;ListBullet.svg&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
	for t, fn in pairs(index) do&lt;br /&gt;
		if t == modulename then&lt;br /&gt;
			return fn&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return index[&amp;#039;default&amp;#039;]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function editlinktest(modulename)&lt;br /&gt;
	local no_edit_links = {&amp;#039;Discussions&amp;#039;, &amp;#039;Alerts&amp;#039;, &amp;#039;Showcase&amp;#039;, &amp;#039;Related WikiProjects&amp;#039;} -- no edit link for these standard modules&lt;br /&gt;
	&lt;br /&gt;
	for _, l in pairs(no_edit_links) do&lt;br /&gt;
		if l == modulename then&lt;br /&gt;
			return &amp;#039;no&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;yes&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.build(frame)&lt;br /&gt;
	local title = &amp;#039;&amp;#039;&lt;br /&gt;
	local intro = &amp;#039;&amp;#039;&lt;br /&gt;
	local image = &amp;#039;&amp;#039;&lt;br /&gt;
	local color = &amp;#039;#6af&amp;#039; -- default value&lt;br /&gt;
	local displaymode = &amp;#039;normal&amp;#039; -- default value&lt;br /&gt;
	local modules = {}&lt;br /&gt;
	local id&lt;br /&gt;
	for key, value in pairs(frame:getParent().args) do  -- iterate through arguments, pick out values&lt;br /&gt;
		if key == &amp;#039;title&amp;#039; then&lt;br /&gt;
			title = value&lt;br /&gt;
		elseif key == &amp;#039;intro&amp;#039; then&lt;br /&gt;
			intro = value&lt;br /&gt;
		elseif key == &amp;#039;image&amp;#039; then&lt;br /&gt;
			image = value&lt;br /&gt;
		elseif key == &amp;#039;color&amp;#039; then&lt;br /&gt;
			color = value&lt;br /&gt;
		elseif key == &amp;#039;displaymode&amp;#039; then&lt;br /&gt;
			displaymode = value&lt;br /&gt;
    	elseif string.find(key, &amp;#039;module&amp;#039;) ~= nil then  -- matches module1, module2, etc.&lt;br /&gt;
    		id = string.gsub(key, &amp;#039;module&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    		id = tonumber(id)&lt;br /&gt;
    		modules[id] = value&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Rendering table of contents and body&lt;br /&gt;
	local toc_args = {&lt;br /&gt;
		width = 80,&lt;br /&gt;
		height = 55,&lt;br /&gt;
		[&amp;#039;font-size&amp;#039;] = &amp;#039;100%&amp;#039;,&lt;br /&gt;
		[&amp;#039;margin&amp;#039;] = 0&lt;br /&gt;
	} -- passed into Image Array module&lt;br /&gt;
	local body = &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	-- Load a Table of Contents entry, transclude module, for each named module&lt;br /&gt;
	local counter = 0&lt;br /&gt;
	local moduletitle&lt;br /&gt;
	local moduletitle_encoded&lt;br /&gt;
	for _, module in pairs(modules) do&lt;br /&gt;
		counter = counter + 1&lt;br /&gt;
		toc_args[&amp;#039;image&amp;#039; .. counter] = standardicon(module)&lt;br /&gt;
		toc_args[&amp;#039;alt&amp;#039; .. counter] = module&lt;br /&gt;
		if displaymode == &amp;quot;womeninred&amp;quot; then&lt;br /&gt;
			if module == &amp;quot;Metrics&amp;quot; or module == &amp;quot;Showcase&amp;quot; or module == &amp;quot;About us&amp;quot; or module == &amp;quot;Press&amp;quot; or module == &amp;quot;Research&amp;quot; or module == &amp;quot;External links&amp;quot; then&lt;br /&gt;
				toc_args[&amp;#039;link&amp;#039; .. counter] = &amp;quot;Wikipedia:WikiProject Women in Red/&amp;quot; .. module&lt;br /&gt;
			else&lt;br /&gt;
				toc_args[&amp;#039;link&amp;#039; .. counter] = &amp;quot;#&amp;quot; .. module&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			toc_args[&amp;#039;link&amp;#039; .. counter] = &amp;quot;#&amp;quot; .. module&lt;br /&gt;
		end&lt;br /&gt;
		toc_args[&amp;#039;caption&amp;#039; .. counter] = &amp;quot;[[&amp;quot; .. toc_args[&amp;#039;link&amp;#039; .. counter] .. &amp;quot;|&amp;quot; .. module .. &amp;quot;]]&amp;quot;&lt;br /&gt;
		if module == &amp;quot;Related WikiProjects&amp;quot; then&lt;br /&gt;
			-- Load the appropriate subpage of [[Wikipedia:Related WikiProjects]]&lt;br /&gt;
			moduletitle = &amp;#039;Related WikiProjects&amp;#039; .. &amp;#039;/&amp;#039; .. title&lt;br /&gt;
			moduletitle_encoded = string.gsub(&amp;#039;Wikipedia:&amp;#039; .. moduletitle, &amp;#039; &amp;#039;, &amp;#039;_&amp;#039;)&lt;br /&gt;
			body = body .. &amp;quot;\n&amp;quot; .. frame:expandTemplate{ title = &amp;#039;WPX header&amp;#039;, args = { module, color = color, modulename = moduletitle_encoded, editlink = editlinktest(module) } }&lt;br /&gt;
			body = body .. &amp;quot;\n&amp;quot; .. frame:expandTemplate{ title = &amp;quot;Wikipedia:Related WikiProjects/&amp;quot; .. title, args = {color} }&lt;br /&gt;
		else&lt;br /&gt;
			if displaymode == &amp;quot;normal&amp;quot; or ( displaymode == &amp;quot;womeninred&amp;quot; and module ~= &amp;quot;Metrics&amp;quot; and module ~= &amp;quot;Showcase&amp;quot; and module ~= &amp;quot;About us&amp;quot; and module ~= &amp;quot;Press&amp;quot; and module ~= &amp;quot;Research&amp;quot; and module ~= &amp;quot;External links&amp;quot; ) then&lt;br /&gt;
				moduletitle = title .. &amp;#039;/&amp;#039; .. module&lt;br /&gt;
				moduletitle_encoded = string.gsub(&amp;#039;Wikipedia:&amp;#039; .. moduletitle, &amp;#039; &amp;#039;, &amp;#039;_&amp;#039;)&lt;br /&gt;
				body = body .. &amp;quot;\n&amp;quot; .. frame:expandTemplate{ title = &amp;#039;WPX header&amp;#039;, args = { module, color = color, modulename = moduletitle_encoded, editlink = editlinktest(module) } }&lt;br /&gt;
				if mw.title.makeTitle(&amp;#039;Wikipedia&amp;#039;, moduletitle).exists == true then&lt;br /&gt;
					body = body .. &amp;quot;\n&amp;quot; .. frame:expandTemplate{ title = &amp;#039;Wikipedia:&amp;#039; .. moduletitle, args = {color} } .. &amp;quot;\n&amp;lt;div style=&amp;#039;clear:both;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
				else&lt;br /&gt;
					-- Is module in question a Standard Module? If so, load the template with corresponding editintro&lt;br /&gt;
					if mw.title.makeTitle(&amp;#039;Template&amp;#039;, &amp;#039;WPX module/&amp;#039; .. module).exists == true then&lt;br /&gt;
						preload = &amp;#039;&amp;amp;preload=Template:WPX_module/&amp;#039; .. string.gsub(module, &amp;#039; &amp;#039;, &amp;#039;_&amp;#039;)&lt;br /&gt;
						editintro = &amp;#039;&amp;amp;editintro=Template:WPX_editintro/&amp;#039; .. string.gsub(module, &amp;#039; &amp;#039;, &amp;#039;_&amp;#039;)&lt;br /&gt;
					else&lt;br /&gt;
						preload = &amp;#039;&amp;#039; -- no preload&lt;br /&gt;
						editintro = &amp;#039;&amp;amp;editintro=Template:WPX_editintro/Generic&amp;#039; -- generic editintro&lt;br /&gt;
					end&lt;br /&gt;
					-- Create notice&lt;br /&gt;
					create_url = &amp;#039;https://en.wikipedia.org/wiki/Wikipedia:&amp;#039; .. string.gsub(moduletitle, &amp;#039; &amp;#039;, &amp;#039;_&amp;#039;) .. &amp;#039;?action=edit&amp;#039; .. preload .. editintro&lt;br /&gt;
					create_button = frame:expandTemplate{ title = &amp;#039;Template:Clickable button 2&amp;#039;, args = {&amp;#039;Create Module&amp;#039;, url = create_url, class = &amp;#039;mw-ui-progressive&amp;#039; } }&lt;br /&gt;
					body = body .. &amp;#039;[[Wikipedia:&amp;#039; .. moduletitle .. &amp;#039;]] does not exist. &amp;#039; .. create_button&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	toc_args[&amp;#039;perrow&amp;#039;] = counter -- sets length of image array to the number of icons&lt;br /&gt;
	&lt;br /&gt;
	local toc = &amp;quot;&amp;lt;div style=&amp;#039;margin-bottom:4em;&amp;#039;&amp;gt;&amp;quot; .. require(&amp;#039;Module:Image array&amp;#039;)._imagearray(toc_args) .. &amp;quot;&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;#039;clear:both;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	-- Adding header&lt;br /&gt;
	local header = &amp;quot;__NOTOC__\n&amp;lt;div style=&amp;#039;display: flex; flex-flow: row wrap;&amp;#039;&amp;gt;&amp;quot; -- top container&lt;br /&gt;
	if displaymode == &amp;quot;womeninred&amp;quot; then&lt;br /&gt;
		header = header .. &amp;quot;&amp;lt;div style=&amp;#039;flex: 1 0; border-top: solid .7em &amp;quot; .. color .. &amp;quot;;&amp;#039;&amp;gt;&amp;quot; -- intro&lt;br /&gt;
	else&lt;br /&gt;
		header = header .. &amp;quot;&amp;lt;div style=&amp;#039;flex: 1 0; padding-bottom: 3em; border-top: solid .7em &amp;quot; .. color .. &amp;quot;;&amp;#039;&amp;gt;&amp;quot; -- intro&lt;br /&gt;
	end&lt;br /&gt;
	-- Adding project icon&lt;br /&gt;
	header = header .. &amp;quot;&amp;lt;div class=&amp;#039;nomobile&amp;#039; style=&amp;#039;float:left; margin-top: 1em; margin-right: 2em; margin-bottom: 1em; text-align: center;&amp;#039;&amp;gt;&amp;quot;&lt;br /&gt;
	header = header .. image .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
	-- Adding project title&lt;br /&gt;
	header = header .. &amp;quot;&amp;lt;div style=&amp;#039;font-size: 120%; padding: 0;&amp;#039;&amp;gt;&amp;quot; -- header&lt;br /&gt;
    header = header .. &amp;quot;&amp;lt;h1 style=&amp;#039;font-weight: bold; border-bottom: none; margin:0; padding-top:0.5em;&amp;#039;&amp;gt;&amp;quot; .. title .. &amp;quot;&amp;lt;/h1&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
    if displaymode == &amp;quot;womeninred&amp;quot; then&lt;br /&gt;
    	header = header .. toc&lt;br /&gt;
    end&lt;br /&gt;
	-- Adding intro blurb&lt;br /&gt;
	header = header .. &amp;quot;&amp;lt;div style=&amp;#039;margin-top: 1em; font-size: 110%;&amp;#039;&amp;gt;&amp;quot;&lt;br /&gt;
	header = header .. intro .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
	-- Adding announcement section&lt;br /&gt;
	if mw.title.makeTitle(&amp;#039;Wikipedia&amp;#039;, title .. &amp;quot;/&amp;quot; .. &amp;quot;Announcements&amp;quot;).exists == true then&lt;br /&gt;
		header = header .. frame:expandTemplate{ title = &amp;#039;Wikipedia:&amp;#039; .. title .. &amp;quot;/&amp;quot; .. &amp;quot;Announcements&amp;quot;, args = { } }&lt;br /&gt;
	end&lt;br /&gt;
	header = header .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
	-- Adding member box&lt;br /&gt;
	header = header .. &amp;quot;&amp;lt;div style=&amp;#039;flex: 0 1 20em;&amp;#039;&amp;gt;&amp;quot;&lt;br /&gt;
	header = header .. frame:expandTemplate{ title = &amp;#039;WPX participants box&amp;#039;, args = { } }&lt;br /&gt;
	header = header .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
	-- Closing off header&lt;br /&gt;
	header = header .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	-- Assembling parts&lt;br /&gt;
	local contents&lt;br /&gt;
	if displaymode == &amp;quot;womeninred&amp;quot; then&lt;br /&gt;
		contents = header .. body&lt;br /&gt;
	else&lt;br /&gt;
		contents = header .. toc .. body&lt;br /&gt;
	end&lt;br /&gt;
	return contents&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.invoke(frame)&lt;br /&gt;
	return p.build(frame:newChild{title = frame:getTitle()})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Myotus</name></author>
	</entry>
</feed>