Difference between revisions of "Module:Babel/sandbox"
Jump to navigation
Jump to search
blackwiki>The Mol Man |
blackwiki>The Mol Man |
||
| Line 7: | Line 7: | ||
getArgs = require('Module:Arguments').getArgs | getArgs = require('Module:Arguments').getArgs | ||
end | end | ||
| − | local args = getArgs(frame, {wrappers = | + | local args = getArgs(frame, {wrappers = 'Template:Babel'}) |
| − | local | + | local ret = mw.html.create('table') |
:addClass('userboxes') | :addClass('userboxes') | ||
| − | + | :css( { | |
| − | + | float = args.align or 'right', | |
| − | + | ['margin-left'] = (args.left or '1') .. 'em', | |
| − | + | ['margin-bottom'] = args.bottom or '0', 'em', | |
| − | + | width = (args.width or '248') .. 'px', | |
| − | + | clear = args.align or 'right', | |
| − | + | color = args.textcolor or '#000000', | |
| − | + | border = (bordercolor or '#99B3FF') .. ' solid ' .. (args.solid or 1)..'px' | |
| − | + | } ) | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
if args.shadow and string.lower(args.shadow) == 'yes' then | if args.shadow and string.lower(args.shadow) == 'yes' then | ||
| − | + | ret:css({ ['box-shadow'] = '0 2px 4px rgb(0,0,0,0.2)', | |
| − | + | ['-mox-box-shadow'] = '0 2px 4px rgb(0,0,0,0.2)', | |
| − | + | ['-webkit-box-shadow'] = '0 2px 4px rgb(0,0,0,0.2)' }) | |
end | end | ||
| − | + | ||
local extracss = args['extra-css'] or '' | local extracss = args['extra-css'] or '' | ||
| Line 40: | Line 32: | ||
local color = args.color or 'inherit' | local color = args.color or 'inherit' | ||
| − | local row1 = | + | local row1 = ret:tag('tr') |
| − | local row2 = | + | local row2 = ret:tag('tr') |
| − | local row3 = | + | local row3 = ret:tag('tr') |
local header = args.header or '[[Wikipedia:Babel]]' | local header = args.header or '[[Wikipedia:Babel]]' | ||
local footer = args.footer or '[[:Category:Wikipedians by language|Search user languages]]' | local footer = args.footer or '[[:Category:Wikipedians by language|Search user languages]]' | ||
| − | + | ||
| − | + | row1:tag('th') | |
| − | :css('background-color', | + | :css({ ['background-color'] = color, |
| − | :css('text-align' | + | ['text-align'] = 'center' }) |
| + | :attr('colspan','10') | ||
| + | :wikitext(header) | ||
| + | :done() | ||
| + | |||
| + | row3:tag('td') | ||
| + | :css({ ['background-color'] = color, | ||
| + | ['text-align'] = 'center' }) | ||
:attr('colspan','10') | :attr('colspan','10') | ||
:wikitext(footer) | :wikitext(footer) | ||
| − | + | :done() | |
| − | + | ||
| − | + | local body_cells = row2:tag('td') | |
| − | : | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | local body_cells = | ||
:css('vertical-align', 'middle !important') | :css('vertical-align', 'middle !important') | ||
| Line 71: | Line 62: | ||
userboxes = args.noboxestext or "''You haven't set up any languages. Please see [[Template:Babel/doc]] for help.''" | userboxes = args.noboxestext or "''You haven't set up any languages. Please see [[Template:Babel/doc]] for help.''" | ||
end | end | ||
| − | + | body_cells:wikitext(userboxes) | |
args[1] = '' | args[1] = '' | ||
| − | |||
for i, v in ipairs( args ) do | for i, v in ipairs( args ) do | ||
| − | |||
if v:find('%S') and v ~= '!' then | if v:find('%S') and v ~= '!' then | ||
| − | + | body_cells:wikitext( frame:preprocess('{{User '..v..'}}') ) | |
| − | |||
elseif v and v == '!' then | elseif v and v == '!' then | ||
| − | + | body_cells:done() | |
| − | + | body_cells = row2:tag('td') | |
end | end | ||
end | end | ||
if args['special-boxes'] then | if args['special-boxes'] then | ||
| − | + | body_cells:wikitext(args['special-boxes']) | |
end | end | ||
| − | + | body_cells:done() | |
| − | + | ||
| − | + | return tostring(ret) | |
| − | body_cells: | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | return tostring( | ||
end | end | ||
return p | return p | ||
Revision as of 17:53, 6 January 2015
Documentation for this module may be created at Module:Babel/sandbox/doc
local p = {}
local getArgs
function p.main(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
local args = getArgs(frame, {wrappers = 'Template:Babel'})
local ret = mw.html.create('table')
:addClass('userboxes')
:css( {
float = args.align or 'right',
['margin-left'] = (args.left or '1') .. 'em',
['margin-bottom'] = args.bottom or '0', 'em',
width = (args.width or '248') .. 'px',
clear = args.align or 'right',
color = args.textcolor or '#000000',
border = (bordercolor or '#99B3FF') .. ' solid ' .. (args.solid or 1)..'px'
} )
if args.shadow and string.lower(args.shadow) == 'yes' then
ret:css({ ['box-shadow'] = '0 2px 4px rgb(0,0,0,0.2)',
['-mox-box-shadow'] = '0 2px 4px rgb(0,0,0,0.2)',
['-webkit-box-shadow'] = '0 2px 4px rgb(0,0,0,0.2)' })
end
local extracss = args['extra-css'] or ''
table_tag:cssText(extracss)
local color = args.color or 'inherit'
local row1 = ret:tag('tr')
local row2 = ret:tag('tr')
local row3 = ret:tag('tr')
local header = args.header or '[[Wikipedia:Babel]]'
local footer = args.footer or '[[:Category:Wikipedians by language|Search user languages]]'
row1:tag('th')
:css({ ['background-color'] = color,
['text-align'] = 'center' })
:attr('colspan','10')
:wikitext(header)
:done()
row3:tag('td')
:css({ ['background-color'] = color,
['text-align'] = 'center' })
:attr('colspan','10')
:wikitext(footer)
:done()
local body_cells = row2:tag('td')
:css('vertical-align', 'middle !important')
local userboxes
if args[1] and args[1]:find('%S') then
userboxes = frame:preprocess('{{User '..args[1]..'}}')
else
userboxes = args.noboxestext or "''You haven't set up any languages. Please see [[Template:Babel/doc]] for help.''"
end
body_cells:wikitext(userboxes)
args[1] = ''
for i, v in ipairs( args ) do
if v:find('%S') and v ~= '!' then
body_cells:wikitext( frame:preprocess('{{User '..v..'}}') )
elseif v and v == '!' then
body_cells:done()
body_cells = row2:tag('td')
end
end
if args['special-boxes'] then
body_cells:wikitext(args['special-boxes'])
end
body_cells:done()
return tostring(ret)
end
return p