<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mbwiki.stairwaygames.work/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ACbox</id>
	<title>Module:Cbox - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mbwiki.stairwaygames.work/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ACbox"/>
	<link rel="alternate" type="text/html" href="https://mbwiki.stairwaygames.work/w/index.php?title=Module:Cbox&amp;action=history"/>
	<updated>2026-04-07T18:17:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://mbwiki.stairwaygames.work/w/index.php?title=Module:Cbox&amp;diff=5681&amp;oldid=prev</id>
		<title>Admin coral island: Created page with &quot;local p = {} local cbox local styles,css,args = {},{},{} local lomod = require(&#039;Dev:Cbox/layout&#039;) local chrome = require(&#039;Dev:Colors&#039;) local getArgs = require(&#039;Dev:Arguments&#039;).getArgs local notmeta_checks = {   above = true,   below = true,   class = true,   data = true,   fontsize = true,   header = true,   image = true,   imagelink = true,   imagesize = true,   layout = true,   name = true,   quote = true,   reason = true,   reasontext = true,   text = true,   timestam...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mbwiki.stairwaygames.work/w/index.php?title=Module:Cbox&amp;diff=5681&amp;oldid=prev"/>
		<updated>2023-08-04T02:22:06Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {} local cbox local styles,css,args = {},{},{} local lomod = require(&amp;#039;Dev:Cbox/layout&amp;#039;) local chrome = require(&amp;#039;Dev:Colors&amp;#039;) local getArgs = require(&amp;#039;Dev:Arguments&amp;#039;).getArgs local notmeta_checks = {   above = true,   below = true,   class = true,   data = true,   fontsize = true,   header = true,   image = true,   imagelink = true,   imagesize = true,   layout = true,   name = true,   quote = true,   reason = true,   reasontext = true,   text = true,   timestam...&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 cbox&lt;br /&gt;
local styles,css,args = {},{},{}&lt;br /&gt;
local lomod = require(&amp;#039;Dev:Cbox/layout&amp;#039;)&lt;br /&gt;
local chrome = require(&amp;#039;Dev:Colors&amp;#039;)&lt;br /&gt;
local getArgs = require(&amp;#039;Dev:Arguments&amp;#039;).getArgs&lt;br /&gt;
local notmeta_checks = {&lt;br /&gt;
  above = true,&lt;br /&gt;
  below = true,&lt;br /&gt;
  class = true,&lt;br /&gt;
  data = true,&lt;br /&gt;
  fontsize = true,&lt;br /&gt;
  header = true,&lt;br /&gt;
  image = true,&lt;br /&gt;
  imagelink = true,&lt;br /&gt;
  imagesize = true,&lt;br /&gt;
  layout = true,&lt;br /&gt;
  name = true,&lt;br /&gt;
  quote = true,&lt;br /&gt;
  reason = true,&lt;br /&gt;
  reasontext = true,&lt;br /&gt;
  text = true,&lt;br /&gt;
  timestamp = true,&lt;br /&gt;
  towhere = true,&lt;br /&gt;
}&lt;br /&gt;
local main_checks = {&lt;br /&gt;
  above = true,&lt;br /&gt;
  below = true,&lt;br /&gt;
  data = true,&lt;br /&gt;
  header = true,&lt;br /&gt;
  image = true,&lt;br /&gt;
  imagelink = true,&lt;br /&gt;
  name = true,&lt;br /&gt;
  quote = true,&lt;br /&gt;
  reason = true,&lt;br /&gt;
  reasontext = true,&lt;br /&gt;
  text = true,&lt;br /&gt;
  timestamp = true,&lt;br /&gt;
  towhere = true,&lt;br /&gt;
}&lt;br /&gt;
local test_checks = main_checks&lt;br /&gt;
&lt;br /&gt;
local function doublekey(str,v)&lt;br /&gt;
    local k,ka = 1,{}&lt;br /&gt;
    for n in mw.ustring.gmatch(str,&amp;#039;[^#]+&amp;#039;) do&lt;br /&gt;
        ka[k] = n&lt;br /&gt;
        k=k+1&lt;br /&gt;
    end&lt;br /&gt;
    if not styles[ka[2] or &amp;#039;cbox&amp;#039;] then styles[ka[2] or &amp;#039;cbox&amp;#039;] = {} end&lt;br /&gt;
    styles[ka[2] or &amp;#039;cbox&amp;#039;][ka[1]] = v&lt;br /&gt;
    args[str] = nil&lt;br /&gt;
end&lt;br /&gt;
local function multikey(loc,str,v)&lt;br /&gt;
    if type(str)==&amp;quot;table&amp;quot; then&lt;br /&gt;
        styles[loc]=styles[loc] or {}&lt;br /&gt;
        for i=1,#str do&lt;br /&gt;
            styles[loc][str[i]] = v&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
local function adddata(moto)&lt;br /&gt;
    local text={args.text}&lt;br /&gt;
    if tostring(moto)==&amp;quot;table&amp;quot; then&lt;br /&gt;
        text[#text+1] =&amp;#039;entering is:table&amp;lt;br/&amp;gt;&amp;#039;&lt;br /&gt;
        for k,v in pairs(moto) do&lt;br /&gt;
            text[#text+1] =tostring(k)..&amp;#039;:『&amp;#039;..tostring(v)..&amp;#039;』&amp;lt;br/&amp;gt;&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        text[#text+1] =&amp;#039;value:『&amp;#039;..tostring(moto)..&amp;#039;』&amp;lt;br/&amp;gt;&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    args.text = table.concat(text, &amp;quot;&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local function notmeta(k,v)&lt;br /&gt;
    if v==&amp;#039;&amp;#039; or v==nil then&lt;br /&gt;
        return false&lt;br /&gt;
    elseif mw.ustring.find(k,&amp;#039;#&amp;#039;) then&lt;br /&gt;
        return true&lt;br /&gt;
    elseif notmeta_checks[k] then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return true&lt;br /&gt;
end&lt;br /&gt;
local function autotext(size)&lt;br /&gt;
    if size then&lt;br /&gt;
    local o = size..&amp;#039;pt&amp;#039;&lt;br /&gt;
    local h = tostring(tonumber(size)+2)..&amp;#039;pt&amp;#039;&lt;br /&gt;
    styles[&amp;#039;cbox&amp;#039;] = styles[&amp;#039;cbox&amp;#039;] or {}&lt;br /&gt;
    styles[&amp;#039;cbox&amp;#039;][&amp;#039;font-size&amp;#039;] = o&lt;br /&gt;
    styles[&amp;#039;header&amp;#039;] = styles[&amp;#039;header&amp;#039;] or {}&lt;br /&gt;
    styles[&amp;#039;header&amp;#039;][&amp;#039;font-size&amp;#039;] = h&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
local function colorfix(header)&lt;br /&gt;
    if styles[header] then&lt;br /&gt;
        local c,bc = styles[header][&amp;#039;color&amp;#039;],styles[header][&amp;#039;background-color&amp;#039;]&lt;br /&gt;
        if c and not bc then&lt;br /&gt;
            styles[header][&amp;#039;background-color&amp;#039;] = chrome.text({[&amp;#039;args&amp;#039;]={c}})&lt;br /&gt;
        elseif bc and not c then&lt;br /&gt;
            styles[header].color = chrome.text({[&amp;#039;args&amp;#039;]={bc}})&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
local function quickcreate(element,class)&lt;br /&gt;
    local cell = mw.html.create(element)&lt;br /&gt;
    cell:addClass(class)&lt;br /&gt;
    if styles[class] then&lt;br /&gt;
        cell:css(styles[class])&lt;br /&gt;
    end&lt;br /&gt;
    if css[class] then&lt;br /&gt;
        cell:cssText(css[class])&lt;br /&gt;
    end&lt;br /&gt;
    return cell&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function p.maketest(frame)&lt;br /&gt;
    multikey(&amp;#039;cbox&amp;#039;,{&amp;quot;border-radius&amp;quot;,&amp;quot;-moz-border-radius&amp;quot;,&amp;quot;-webkit-border-radius&amp;quot;,&amp;quot;-khtml-border-radius&amp;quot;,&amp;quot;-icab-border-radius&amp;quot;,&amp;quot;-o-border-radius&amp;quot;},&amp;quot;30px&amp;quot;)&lt;br /&gt;
    cbox=quickcreate(&amp;#039;table&amp;#039;,&amp;#039;cbox&amp;#039;)&lt;br /&gt;
    lomod.layout1()&lt;br /&gt;
    return tostring(cbox)&lt;br /&gt;
end&lt;br /&gt;
function p.test(frame)&lt;br /&gt;
    adddata(frame)&lt;br /&gt;
    local moto = getArgs(frame,{&lt;br /&gt;
        valueFunc = function(key,value)&lt;br /&gt;
            if not value then&lt;br /&gt;
                return nil&lt;br /&gt;
            end&lt;br /&gt;
            if type(key)==&amp;quot;number&amp;quot; then return value end&lt;br /&gt;
            local k = mw.ustring.lower(key)&lt;br /&gt;
            if not test_checks[k] then&lt;br /&gt;
                value = mw.ustring.lower(value)&lt;br /&gt;
            end&lt;br /&gt;
            if mw.ustring.find(value,&amp;#039;%S&amp;#039;) then&lt;br /&gt;
                return value&lt;br /&gt;
            end&lt;br /&gt;
            return nil&lt;br /&gt;
        end&lt;br /&gt;
    })&lt;br /&gt;
    for k,v in pairs(moto) do&lt;br /&gt;
        if type(k)==&amp;quot;string&amp;quot; then&lt;br /&gt;
            key = mw.ustring.lower(k)&lt;br /&gt;
        else&lt;br /&gt;
            key = tostring(k)&lt;br /&gt;
        end&lt;br /&gt;
        if not args[key] then&lt;br /&gt;
            args[key] = v&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    adddata(args)&lt;br /&gt;
 &lt;br /&gt;
    if args.round and tonumber(args.round)&amp;gt;0 then&lt;br /&gt;
        multikey(&amp;#039;cbox&amp;#039;,{&amp;quot;border-radius&amp;quot;,&amp;quot;-moz-border-radius&amp;quot;,&amp;quot;-webkit-border-radius&amp;quot;,&amp;quot;-khtml-border-radius&amp;quot;,&amp;quot;-icab-border-radius&amp;quot;,&amp;quot;-o-border-radius&amp;quot;},args.round .. &amp;#039;px&amp;#039;)&lt;br /&gt;
        args.round = nil&lt;br /&gt;
    end&lt;br /&gt;
    css[&amp;#039;cbox&amp;#039;] = args.style&lt;br /&gt;
    args.style = &amp;#039;&amp;#039;&lt;br /&gt;
    css[&amp;#039;header&amp;#039;] = args.headerstyle&lt;br /&gt;
    args.headerstyle = &amp;#039;&amp;#039;&lt;br /&gt;
    css[&amp;#039;description&amp;#039;] = args.textstyle&lt;br /&gt;
    args.textstyle = &amp;#039;&amp;#039;&lt;br /&gt;
    css[&amp;#039;reason&amp;#039;] = args.reasonstyle&lt;br /&gt;
    args.reasonstyle = &amp;#039;&amp;#039;&lt;br /&gt;
    css[&amp;#039;image&amp;#039;] = args.imagestyle&lt;br /&gt;
    args.imagestyle = &amp;#039;&amp;#039;&lt;br /&gt;
    autotext(args.fontsize)&lt;br /&gt;
    args.fontsize = &amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
    -- Loop over all the args&lt;br /&gt;
    colorfix(&amp;#039;cbox&amp;#039;)&lt;br /&gt;
    colorfix(&amp;#039;header&amp;#039;)&lt;br /&gt;
    colorfix(&amp;#039;reason&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
    cbox = quickcreate(&amp;#039;table&amp;#039;,&amp;#039;cbox&amp;#039;)&lt;br /&gt;
    cbox:addClass(args[&amp;#039;class&amp;#039;] or &amp;#039;&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
    lomod.layout1()&lt;br /&gt;
 &lt;br /&gt;
    return tostring(cbox)&lt;br /&gt;
end&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
    local moto = getArgs(frame,{&lt;br /&gt;
        valueFunc = function(key,value)&lt;br /&gt;
            if not value then&lt;br /&gt;
                return nil&lt;br /&gt;
            end&lt;br /&gt;
            if type(key)==&amp;#039;number&amp;#039; then&lt;br /&gt;
                return value&lt;br /&gt;
            end&lt;br /&gt;
&lt;br /&gt;
            local k = mw.ustring.lower(key)&lt;br /&gt;
            if not main_checks[k] then&lt;br /&gt;
                value = mw.ustring.lower(value)&lt;br /&gt;
            end&lt;br /&gt;
            if mw.ustring.find(value,&amp;#039;%S&amp;#039;) then&lt;br /&gt;
                return value&lt;br /&gt;
            end&lt;br /&gt;
            return nil&lt;br /&gt;
        end&lt;br /&gt;
    })&lt;br /&gt;
    for k,v in pairs(moto) do&lt;br /&gt;
        if type(k)==&amp;quot;string&amp;quot; then&lt;br /&gt;
            key = mw.ustring.lower(k)&lt;br /&gt;
        else&lt;br /&gt;
            key = tostring(k)&lt;br /&gt;
        end&lt;br /&gt;
        if not args[key] then&lt;br /&gt;
            args[key] = v&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    if args.round and tonumber(args.round)&amp;gt;0 then&lt;br /&gt;
        multikey(&amp;#039;cbox&amp;#039;,{&amp;quot;border-radius&amp;quot;,&amp;quot;-moz-border-radius&amp;quot;,&amp;quot;-webkit-border-radius&amp;quot;,&amp;quot;-khtml-border-radius&amp;quot;,&amp;quot;-icab-border-radius&amp;quot;,&amp;quot;-o-border-radius&amp;quot;},args.round .. &amp;#039;px&amp;#039;)&lt;br /&gt;
        args.round = nil&lt;br /&gt;
    end&lt;br /&gt;
    css[&amp;#039;cbox&amp;#039;] = args.style&lt;br /&gt;
    args[&amp;#039;style&amp;#039;] = &amp;#039;&amp;#039;&lt;br /&gt;
    css[&amp;#039;header&amp;#039;] = args.headerstyle&lt;br /&gt;
    args.headerstyle = &amp;#039;&amp;#039;&lt;br /&gt;
    css[&amp;#039;description&amp;#039;] = args.textstyle&lt;br /&gt;
    args.textstyle = &amp;#039;&amp;#039;&lt;br /&gt;
    css[&amp;#039;reason&amp;#039;] = args.reasonstyle&lt;br /&gt;
    args.reasonstyle = &amp;#039;&amp;#039;&lt;br /&gt;
    css[&amp;#039;image&amp;#039;] = args.imagestyle&lt;br /&gt;
    args.imagestyle = &amp;#039;&amp;#039;&lt;br /&gt;
    autotext(args.fontsize)&lt;br /&gt;
    args.fontsize = &amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
    -- Loop over all the args&lt;br /&gt;
    for k,v in pairs(args) do&lt;br /&gt;
        -- 先に↑を消すことで飛ばすようになる&lt;br /&gt;
        if notmeta(k,v) then&lt;br /&gt;
            doublekey(k,v) -- Simple copy&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    colorfix(&amp;#039;cbox&amp;#039;)&lt;br /&gt;
    colorfix(&amp;#039;header&amp;#039;)&lt;br /&gt;
    colorfix(&amp;#039;reason&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
    cbox = quickcreate(&amp;#039;table&amp;#039;,&amp;#039;cbox&amp;#039;)&lt;br /&gt;
    cbox:addClass(args[&amp;#039;class&amp;#039;] or &amp;#039;&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
    local layout = tonumber(args.layout) or 0&lt;br /&gt;
    local func = lomod[&amp;quot;layout&amp;quot; .. layout]&lt;br /&gt;
    if func and layout &amp;gt; 0 and layout &amp;lt; 7 then&lt;br /&gt;
        cbox = func(cbox,styles,css,args)&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    return tostring(cbox)&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Admin coral island</name></author>
	</entry>
</feed>