Module:Sandbox
This page is not an actual Scribunto module. It exists to provide editors a place to create experimental modules.
Naming your modules
To keep things tidy, please use the following format to name your experimental modules:
Module:Sandbox/Your username/Module name
Cleaning up unused modules
Experimental modules may be deleted by admins upon request or after a long period of inactivity.
List of modules in this area
For a list of the experimental modules under Module:Sandbox, see Special:PrefixIndex/Module:Sandbox/.
The above documentation is transcluded from Module:Sandbox/doc.
Editors can experiment in this module's sandbox and testcases pages.
Subpages of this module.
Editors can experiment in this module's sandbox and testcases pages.
Subpages of this module.
local p = {}
local getArgs
local yesno = require('Module:Yesno')
function p.main(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
local args = getArgs(frame, {
})
return p._main(args)
end
function p._main(args)
local types = {
delete = {
class = 'mbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'mbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'mbox-style',
image = 'Edit-clear.svg'
},
notice = {
class = 'mbox-notice',
image = 'Tango-style info icon.svg'
}
}
local classes = {'mbox'}
local boxType = args.type or 'notice'
local small = yesno(args.small)
local class = args.class
local style = args.style
local image = args.image or types[boxType].image
local imagesize = small and '30x30px' or '40x40px'
local text = args.text or ''
local textstyle = args.textstyle
table.insert(classes, types[boxType].class)
if small then
table.insert(classes, 'mbox-small')
end
if class then
table.insert(classes, class)
end
local out = {}
table.insert(out, '<div class="' .. table.concat(classes, ' ') .. '" ')
if style then
table.insert(out, 'style="' .. style .. '" ')
end
table.insert(out, '><div class="mbox-inner">')
if image ~= 'none' then
table.insert(out, '<div class="mbox-image">[[File:' .. image .. '|' .. imagesize .. '|link=|alt=]]</div>')
end
table.insert(out, '<div class="mbox-text" ')
if textstyle then
table.insert(out, 'style="' .. textstyle .. '" ')
end
table.insert(out, '>' .. text .. '</div>')
table.insert(out, '</div></div>')
return table.concat(out)
end
return p