Module:Sandbox: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local getArgs | local getArgs | ||
local yesno = require('Module:Yesno') | |||
function p.main(frame) | function p.main(frame) | ||
Line 7: | Line 8: | ||
end | end | ||
local args = getArgs(frame, { | local args = getArgs(frame, { | ||
}) | }) | ||
return p._main(args) | return p._main(args) | ||
Line 14: | Line 14: | ||
function p._main(args) | 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 | end | ||
return table.concat( | 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 | end | ||
return p | return p |
Revision as of 04:32, 29 July 2014
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