Module:Sandbox: Difference between revisions

From Path of Exile 2 Wiki
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, {
-- wrappers = 'Template:Anchor', -- Wrappers invokes frame:title()
trim = false
})
})
return p._main(args)
return p._main(args)
Line 14: Line 14:


function p._main(args)
function p._main(args)
args = args or {}
local types = {
local iargs = {}
delete = {
for k, v in pairs(args) do
class = 'mbox-delete',
if type(k) == 'number' and k >= 1 and math.floor(k) == k and string.find(v, '%S') then
image = 'Ambox warning pn.svg'
table.insert(iargs, '<span id="' .. mw.text.trim(v) .. '"></span>')
},
end
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(iargs)
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

Module documentation[view] [edit] [history] [purge]


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/.

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