<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hokutonoken.wiki/en/index.php?action=history&amp;feed=atom&amp;title=Module%3AIBox</id>
	<title>Module:IBox - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hokutonoken.wiki/en/index.php?action=history&amp;feed=atom&amp;title=Module%3AIBox"/>
	<link rel="alternate" type="text/html" href="https://hokutonoken.wiki/en/index.php?title=Module:IBox&amp;action=history"/>
	<updated>2026-04-17T10:03:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://hokutonoken.wiki/en/index.php?title=Module:IBox&amp;diff=24648&amp;oldid=prev</id>
		<title>New World God: Created page with &quot;local p = {} local yn = require(&#039;Module:Yesno&#039;)   -- Start the table function p.start(frame) 	local args = frame:getParent().args 	local mode =  args.mode == &#039;infotable&#039; and &#039;...&quot;</title>
		<link rel="alternate" type="text/html" href="https://hokutonoken.wiki/en/index.php?title=Module:IBox&amp;diff=24648&amp;oldid=prev"/>
		<updated>2016-09-14T09:03:39Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {} local yn = require(&amp;#039;Module:Yesno&amp;#039;)   -- Start the table function p.start(frame) 	local args = frame:getParent().args 	local mode =  args.mode == &amp;#039;infotable&amp;#039; and &amp;#039;...&amp;quot;&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;
local yn = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
-- Start the table&lt;br /&gt;
function p.start(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local mode =  args.mode == &amp;#039;infotable&amp;#039; and &amp;#039;infotable&amp;#039; or &amp;#039;infobox&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
	--CSS computations&lt;br /&gt;
	local css = mode..&amp;#039; box colored bordered innerbordered fill-td type-&amp;#039;&lt;br /&gt;
	if yn(args.type, true) then css = css..mw.text.split(args.type, &amp;quot; &amp;quot;)[1] else css = css..&amp;#039;basic&amp;#039; end&lt;br /&gt;
	if not (args.bullets == &amp;#039;on&amp;#039;) then css = css..&amp;#039; list-noicon&amp;#039; end&lt;br /&gt;
	if args.float == &amp;#039;left&amp;#039; then css = css..&amp;#039; float-left-clear&amp;#039;&lt;br /&gt;
	else css = css..&amp;#039; float-right-clear&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	css = css..&amp;#039; &amp;#039;..(args.class or &amp;#039;&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
	--Start the box&lt;br /&gt;
	local page = mw.title.getCurrentTitle().text&lt;br /&gt;
	local text = &amp;#039;&amp;lt;table class=&amp;quot;&amp;#039;..css..&amp;#039;&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th colspan=2 class=mainheader&amp;gt;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
	if mode == &amp;#039;infotable&amp;#039; then&lt;br /&gt;
		if yn(args.ref, true) then text = text..&amp;#039;&amp;lt;span class=&amp;quot;ref&amp;quot;&amp;gt;&amp;#039;..args.ref..&amp;#039;&amp;lt;/span&amp;gt;&amp;#039; end&lt;br /&gt;
		text = text ..&amp;#039;&amp;lt;span class=&amp;quot;maintitle&amp;quot;&amp;gt;&amp;#039;..page..&amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		if yn(args.subtitle, true) then text = text..&amp;#039;&amp;lt;span class=&amp;quot;subtitle&amp;quot;&amp;gt;&amp;#039;..args.subtitle..&amp;#039;&amp;lt;/span&amp;gt;&amp;#039; end&lt;br /&gt;
		text = text..&amp;#039;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td class=&amp;quot;imagecell&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
		if yn(args[&amp;quot;image name&amp;quot;], true) then &lt;br /&gt;
			text = text..&amp;#039;[[File&amp;quot;&amp;#039;..args[&amp;quot;image name&amp;quot;]..&amp;#039;|&amp;#039;..(args[&amp;quot;image size&amp;quot;] or &amp;#039;300px&amp;#039;)..&lt;br /&gt;
			&amp;#039;|&amp;#039;..(args[&amp;quot;image caption&amp;quot;] or page)..&amp;#039;]]&amp;#039;&lt;br /&gt;
		elseif args.image then text = text..args.image&lt;br /&gt;
		end&lt;br /&gt;
		text = text..&amp;#039;&amp;lt;/td&amp;gt;&amp;lt;td class=infocell&amp;gt;&amp;lt;table class=sub-infotable&amp;gt;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
	else	--Infobox&lt;br /&gt;
 &lt;br /&gt;
		if args.editlink then&lt;br /&gt;
			text = text..&amp;#039;&amp;lt;span class=&amp;quot;plainlinks edit-infobox&amp;quot;&amp;gt;[&amp;#039;..&lt;br /&gt;
			tostring(mw.uri.fullUrl(args.editlink..&amp;#039;:&amp;#039;..page,&amp;#039;action=formedit&amp;#039;))..&lt;br /&gt;
			&amp;#039; edit]&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
 &lt;br /&gt;
		text = text..(args[1] or page)..(args.ref or &amp;#039;&amp;#039;)..&amp;#039;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
		if yn(args[&amp;#039;image name&amp;#039;], true) then&lt;br /&gt;
			text = text..&amp;#039;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;imagecell&amp;quot;&amp;gt;&amp;#039;..&lt;br /&gt;
			frame:expandTemplate{ title = &amp;#039;IBox/ImageFormat&amp;#039;, args = {&lt;br /&gt;
				args[&amp;#039;image name&amp;#039;],&lt;br /&gt;
				size = args[&amp;#039;image size&amp;#039;],&lt;br /&gt;
				caption = args[&amp;#039;image caption&amp;#039;]&lt;br /&gt;
			} }..&amp;#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
		elseif args.image then text = text..&amp;#039;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;imagecell&amp;quot;&amp;gt;&amp;#039;..args.image..&amp;#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
 &lt;br /&gt;
		if yn(args.subtitle, true) then &lt;br /&gt;
			text = text..&amp;#039;&amp;lt;tr&amp;gt;&amp;lt;td colspan=2 class=&amp;quot;mainheader lightheader&amp;quot;&amp;gt;&amp;#039;..&lt;br /&gt;
					args.subtitle..&amp;#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
-- Generates a single row&lt;br /&gt;
function p.row(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	if args.condition == &amp;#039;&amp;#039; then return &amp;#039;&amp;#039; end&lt;br /&gt;
 &lt;br /&gt;
	local tr&lt;br /&gt;
	if args.class then tr = &amp;#039;&amp;lt;tr class=&amp;quot;&amp;#039;..args.class..&amp;#039;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
	else tr = &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	local th = mw.html.create(&amp;#039;th&amp;#039;):wikitext(args[1])&lt;br /&gt;
	if args.labelclass then th:addClass(args.labelclass) end&lt;br /&gt;
 &lt;br /&gt;
	local td = mw.html.create(&amp;#039;td&amp;#039;):wikitext(args[2] or args.default)&lt;br /&gt;
	if args.valueclass then td:addClass(args.valueclass) end&lt;br /&gt;
	if args.lang then td:attr(&amp;#039;lang&amp;#039;, args.lang) end&lt;br /&gt;
 &lt;br /&gt;
	return tr..tostring(th)..tostring(td)..&amp;#039;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
-- Generates a header&lt;br /&gt;
function p.header(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	if args.condition == &amp;#039;&amp;#039; then return &amp;#039;&amp;#039; end&lt;br /&gt;
 &lt;br /&gt;
	local tr = mw.html.create(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;):attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
			:addClass(&amp;#039;mainheader &amp;#039;..(args.class or &amp;#039;&amp;#039;))&lt;br /&gt;
			:wikitext(args[1]):done()&lt;br /&gt;
 &lt;br /&gt;
	return tostring(tr)&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
-- Generates the ending part&lt;br /&gt;
function p.ending(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	if args.mode == &amp;#039;infotable&amp;#039; then return &amp;#039;&amp;lt;/table&amp;gt;&amp;lt;/table&amp;gt;&amp;#039; &lt;br /&gt;
	else return &amp;#039;&amp;lt;/table&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
-- Collapsible boxes&lt;br /&gt;
function p.box(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	if args.condition == &amp;#039;&amp;#039; then return &amp;#039;&amp;#039; end&lt;br /&gt;
	local text = &amp;#039;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;2&amp;quot; class=clearcell&amp;gt;&amp;lt;table class=&amp;quot;box cellbox &amp;#039;&lt;br /&gt;
	local st = args.hide&lt;br /&gt;
	if st == &amp;#039;always&amp;#039; then text = text..&amp;#039;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
	elseif st == &amp;#039;never&amp;#039; then text = text..&amp;#039;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		text = text..&amp;#039;mw-collapsible&amp;#039;&lt;br /&gt;
		if yn(args.collapsible) or args.collapsible == &amp;#039;collapsed&amp;#039; then&lt;br /&gt;
			text = text..&amp;#039; mw-collapsed&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
		else text = text..&amp;#039;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	text = text..&amp;#039;&amp;lt;tr&amp;gt;&amp;lt;th class=&amp;quot;mainheader &amp;#039;..(args.labelclass or &amp;#039;&amp;#039;)..&amp;#039;&amp;quot;&amp;gt;&amp;#039;..&lt;br /&gt;
			(args[1] or &amp;#039;&amp;#039;)..&amp;#039;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td class=&amp;quot;&amp;#039;..(args.valueclass or args.default or &amp;#039;&amp;#039;)..&amp;#039;&amp;quot;&amp;gt;&amp;#039;..&lt;br /&gt;
			(args[2] or &amp;#039;&amp;#039;)..&amp;#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
return p&lt;br /&gt;
--[[Category:Lua Modules]]&lt;/div&gt;</summary>
		<author><name>New World God</name></author>
	</entry>
</feed>