Module:Infocard: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 50: | Line 50: | ||
local inner = mw.html.create('div') | local inner = mw.html.create('div') | ||
:attr('class', 'inner') | :attr('class', 'inner') | ||
local block | |||
local i = 1 | local i = 1 | ||
while args[i] do | while args[i] do | ||
class | block = mw.html.create('div') | ||
:attr( 'class', 'block ' .. (args[i .. 'class'] or '') ) | |||
: | if type(args[i]) == 'table' then | ||
block:node(args[i]) | |||
elseif type(args[i]) == 'string' then | |||
block:wikitext(args[i]) | |||
end | |||
inner:node(block) | |||
i = i + 1 | i = i + 1 | ||
end | end | ||
container | container:node(inner) | ||
return tostring(container) | return tostring(container) | ||
end | end | ||
return p | return p |
Revision as of 08:42, 26 February 2016
The above documentation is transcluded from Module:Infocard/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
function p.main(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
local args = getArgs(frame, {
wrappers = {
'Template:Infocard',
'Template:Infocard2'
}
})
return p._main(args)
end
function p._main(args)
local container = mw.html.create('div')
:attr( 'class', 'infocard ' .. (args.class or '') )
local topbar = mw.html.create('div')
:attr('class', 'topbar')
topbar
:tag('div')
:attr('class', 'left')
:wikitext(args.headerleft)
:done()
local middle = mw.html.create('div')
:attr('class', 'middle')
middle
:tag('div')
:attr('class', 'header')
:wikitext(args.header)
:done()
if args.subheader then
middle
:tag('div')
:attr('class', 'subheader')
:wikitext(args.subheader)
:done()
end
topbar
:node(middle)
topbar
:tag('div')
:attr('class', 'right')
:wikitext(args.headerright)
:done()
container
:node(topbar)
local inner = mw.html.create('div')
:attr('class', 'inner')
local block
local i = 1
while args[i] do
block = mw.html.create('div')
:attr( 'class', 'block ' .. (args[i .. 'class'] or '') )
if type(args[i]) == 'table' then
block:node(args[i])
elseif type(args[i]) == 'string' then
block:wikitext(args[i])
end
inner:node(block)
i = i + 1
end
container:node(inner)
return tostring(container)
end
return p