<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://chabadpedia.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ASidebar_or_footer</id>
	<title>Module:Sidebar or footer - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://chabadpedia.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ASidebar_or_footer"/>
	<link rel="alternate" type="text/html" href="https://chabadpedia.com/index.php?title=Module:Sidebar_or_footer&amp;action=history"/>
	<updated>2026-04-30T19:46:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://chabadpedia.com/index.php?title=Module:Sidebar_or_footer&amp;diff=8036&amp;oldid=prev</id>
		<title>Shia.k: Created page with &quot;require(&#039;strict&#039;)  local p = {}  local Sidebar = require(&#039;Module:Sidebar&#039;) local Navbox = require(&#039;Module:Navbox&#039;)  function p.main(frame) 	local getArgs = require(&#039;Module:Arguments&#039;).getArgs 	local args = getArgs(frame) 	local footer = args[&#039;footer&#039;] 	local i, j, ni, k, v 	 	-- process the groups and lists 	local groups, lists, nums = {}, {}, {} 	for k,v in pairs(args) do 		if type(k) == &#039;string&#039; and k:match(&#039;^list[0-9][0-9]*_[0-9][0-9]*$&#039;) then 			i = mw.ustring.gsub(k...&quot;</title>
		<link rel="alternate" type="text/html" href="https://chabadpedia.com/index.php?title=Module:Sidebar_or_footer&amp;diff=8036&amp;oldid=prev"/>
		<updated>2025-04-16T15:59:20Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;require(&amp;#039;strict&amp;#039;)  local p = {}  local Sidebar = require(&amp;#039;Module:Sidebar&amp;#039;) local Navbox = require(&amp;#039;Module:Navbox&amp;#039;)  function p.main(frame) 	local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs 	local args = getArgs(frame) 	local footer = args[&amp;#039;footer&amp;#039;] 	local i, j, ni, k, v 	 	-- process the groups and lists 	local groups, lists, nums = {}, {}, {} 	for k,v in pairs(args) do 		if type(k) == &amp;#039;string&amp;#039; and k:match(&amp;#039;^list[0-9][0-9]*_[0-9][0-9]*$&amp;#039;) then 			i = mw.ustring.gsub(k...&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;strict&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local Sidebar = require(&amp;#039;Module:Sidebar&amp;#039;)&lt;br /&gt;
local Navbox = require(&amp;#039;Module:Navbox&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	local footer = args[&amp;#039;footer&amp;#039;]&lt;br /&gt;
	local i, j, ni, k, v&lt;br /&gt;
	&lt;br /&gt;
	-- process the groups and lists&lt;br /&gt;
	local groups, lists, nums = {}, {}, {}&lt;br /&gt;
	for k,v in pairs(args) do&lt;br /&gt;
		if type(k) == &amp;#039;string&amp;#039; and k:match(&amp;#039;^list[0-9][0-9]*_[0-9][0-9]*$&amp;#039;) then&lt;br /&gt;
			i = mw.ustring.gsub(k,&amp;#039;^list([0-9][0-9]*)_([0-9][0-9]*)$&amp;#039;, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			j = mw.ustring.gsub(k,&amp;#039;^list([0-9][0-9]*)_([0-9][0-9]*)$&amp;#039;, &amp;#039;%2&amp;#039;)&lt;br /&gt;
			i = tonumber(i)&lt;br /&gt;
			j = tonumber(j)&lt;br /&gt;
			if lists[i] == nil then	&lt;br /&gt;
				lists[i] = {}&lt;br /&gt;
				if groups[i] == nil then&lt;br /&gt;
					table.insert(nums, i)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			lists[i][j] = v&lt;br /&gt;
		elseif type(k) == &amp;#039;string&amp;#039; and k:match(&amp;#039;^group[0-9][0-9]*$&amp;#039;) then&lt;br /&gt;
			local i = mw.ustring.gsub(k,&amp;#039;^group([0-9][0-9]*)$&amp;#039;, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			i = tonumber(i)&lt;br /&gt;
			if groups[i] == nil and lists[i] == nil then&lt;br /&gt;
				table.insert(nums, i)&lt;br /&gt;
			end&lt;br /&gt;
			groups[i] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- sort the group and list numbers&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	&lt;br /&gt;
	-- table for args passed to sidebar or navbox&lt;br /&gt;
	local targs = {}&lt;br /&gt;
	for ni = 1, #nums do&lt;br /&gt;
		i = nums[ni]&lt;br /&gt;
		if footer then&lt;br /&gt;
			if lists[i] then&lt;br /&gt;
				if groups[i] then&lt;br /&gt;
					targs[&amp;#039;group&amp;#039; .. i] = args[&amp;#039;group&amp;#039; .. i]&lt;br /&gt;
				end&lt;br /&gt;
				targs[&amp;#039;list&amp;#039; .. i] = &amp;#039;&amp;#039;&lt;br /&gt;
				for k,v in pairs(lists[i]) do&lt;br /&gt;
					targs[&amp;#039;list&amp;#039; .. i] = targs[&amp;#039;list&amp;#039; .. i] .. &amp;#039;* &amp;#039; .. args[&amp;#039;list&amp;#039; .. i .. &amp;#039;_&amp;#039; .. k] .. &amp;#039;\n&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				lists[i] = &amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;&amp;#039; .. args[&amp;#039;group&amp;#039; .. i] .. &amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			if groups[i] then&lt;br /&gt;
				targs[&amp;#039;heading&amp;#039; .. i] = args[&amp;#039;group&amp;#039; .. i]&lt;br /&gt;
			end&lt;br /&gt;
			if lists[i] then&lt;br /&gt;
				local leven, lodd = &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
				for k,v in pairs(lists[i]) do&lt;br /&gt;
					if math.fmod(tonumber(k), 2) == 0 then&lt;br /&gt;
						leven = leven .. &amp;#039;* &amp;#039; .. args[&amp;#039;list&amp;#039; .. i .. &amp;#039;_&amp;#039; .. k] .. &amp;#039;\n&amp;#039;&lt;br /&gt;
					else&lt;br /&gt;
						lodd = lodd .. &amp;#039;* &amp;#039; .. args[&amp;#039;list&amp;#039; .. i .. &amp;#039;_&amp;#039; .. k] .. &amp;#039;\n&amp;#039;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if leven ~= &amp;#039;&amp;#039; and lodd ~= &amp;#039;&amp;#039; then&lt;br /&gt;
					local cb = frame:expandTemplate{ title = &amp;#039;col-begin&amp;#039; }&lt;br /&gt;
					local c2 = frame:expandTemplate{ title = &amp;#039;col-2&amp;#039; }&lt;br /&gt;
					local ce = frame:expandTemplate{ title = &amp;#039;col-end&amp;#039; }&lt;br /&gt;
					targs[&amp;#039;content&amp;#039; .. i] = cb .. &amp;#039;\n&amp;#039; .. c2 .. &amp;#039;\n&amp;#039; .. lodd .. c2 .. &amp;#039;\n&amp;#039; .. leven .. ce&lt;br /&gt;
				else&lt;br /&gt;
					targs[&amp;#039;content&amp;#039; .. i] = lodd .. leven&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	targs[&amp;#039;name&amp;#039;] = args[&amp;#039;name&amp;#039;] or mw.title.getCurrentTitle().text&lt;br /&gt;
	targs[&amp;#039;title&amp;#039;] = args[&amp;#039;title&amp;#039;] or &amp;#039;{{{title}}}&amp;#039;&lt;br /&gt;
	if footer then&lt;br /&gt;
		targs[&amp;#039;listclass&amp;#039;] = &amp;#039;hlist&amp;#039;&lt;br /&gt;
		targs[&amp;#039;state&amp;#039;] = args[&amp;#039;state&amp;#039;] or &amp;#039;autocollapse&amp;#039;&lt;br /&gt;
		return Navbox._navbox(targs)&lt;br /&gt;
	else&lt;br /&gt;
		targs[&amp;#039;style&amp;#039;] = &amp;#039;width: 30em; text-align: left;&amp;#039;&lt;br /&gt;
		targs[&amp;#039;class&amp;#039;] = &amp;#039;collapsible&amp;#039;&lt;br /&gt;
		targs[&amp;#039;wraplinks&amp;#039;] = &amp;#039;true&amp;#039;&lt;br /&gt;
		targs[&amp;#039;titlestyle&amp;#039;] = &amp;#039;font-size: 100%; background-color:lavender; text-align:center;&amp;#039;&lt;br /&gt;
		return Sidebar.sidebar(frame, targs)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Shia.k</name></author>
	</entry>
</feed>