Module:Infocard: Difference between revisions

From Path of Exile Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 20: Line 20:
local topbar = mw.html.create('div')
local topbar = mw.html.create('div')
:attr('class', 'topbar')
:attr('class', 'topbar')
topbar:tag('div')
topbar
:attr('class', 'left')
:tag('div')
:wikitext(args.headerleft)
:attr('class', 'left')
:done()
:wikitext(args.headerleft)
:done()
local middle = mw.html.create('div')
local middle = mw.html.create('div')
:attr('class', 'middle')
:attr('class', 'middle')
middle:tag('div')
middle
:attr('class', 'header')
:tag('div')
:wikitext(args.header)
:attr('class', 'header')
:done()
:wikitext(args.header)
:done()
if args.subheader then
if args.subheader then
middle:tag('div')
middle
:attr('class', 'subheader')
:tag('div')
:wikitext(args.subheader)
:attr('class', 'subheader')
:wikitext(args.subheader)
:done()
end
topbar
:node(middle)
topbar
:tag('div')
:attr('class', 'right')
:wikitext(args.headerright)
:done()
:done()
end
container
topbar:node(middle)
:node(topbar)
topbar:tag('div')
:attr('class', 'right')
:wikitext(args.headerright)
:done()
container:node(topbar)
local inner = mw.html.create('div')
local inner = mw.html.create('div')
:attr('class', 'inner')
:attr('class', 'inner')
local i = 1
local i = 1
local class
while args[i] do
while args[i] do
inner:tag('div')
class = args[i .. 'class'] or ''
:attr('class', 'block')
inner
:wikitext(args[i])
:tag('div')
:done()
:attr( 'class', 'block ' .. class )
:wikitext(args[i])
:done()
i = i + 1
i = i + 1
end
end
container:node(inner)
container
:node(inner)
return tostring(container)
return tostring(container)
end
end


return p
return p

Revision as of 21:49, 25 February 2016

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


Lua logo

This module depends on the following other modules:

This module implements {{infocard}}.

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 i = 1
	local class
	while args[i] do
		class = args[i .. 'class'] or ''
		inner
			:tag('div')
				:attr( 'class', 'block ' .. class )
				:wikitext(args[i])
				:done()
		i = i + 1
	end
	container
		:node(inner)
	return tostring(container)
end

return p