Documentation for this module may be created at Module:Quote/doc
--<pre>
local Quote = {}
local getArgs = require('Dev:Arguments').getArgs
function Quote.quote(frame) -- Implements {{Quote}}
local args = getArgs(frame)
return Quote._quote(args)
end
function Quote._quote( args )
local quotetext = args['quote'] or args[1] or args['quotetext'] or ''
local personquoted = args['person'] or args[2] or args['personquoted']
local quotesource = args[3] or args['quotesource']
local quotewidth = args['size'] or args[4] or args['quotewidth'] or args['width'] or '20px'
local quotemarksize = {
["10px"] = "20px",
["20px"] = "40px",
["30px"] = "60px",
["40px"] = "80px",
["50px"] = "100px",
["60px"] = "120px",
}
local t = mw.html.create('table'):attr('align','center')
:css('border-collapse','collapse'):css('border-style','none'):css('background-color','transparent'):addClass('quote')
:tag('tr')
:tag('td'):attr('width','20'):attr('valign','top')
:css('color','#B2B7F2'):css('font-size',quotemarksize[quotewidth]):css('font-family','serif'):css('font-weight','bold')
:css('text-align','left'):css('padding','10px 10px')
:wikitext('“'):done()
:tag('td'):attr('valign','top'):css('padding','4px 10px'):wikitext(quotetext):done()
:tag('td'):attr('width','20'):attr('valign','bottom')
:css('color','#B2B7F2'):css('font-size',quotemarksize[quotewidth]):css('font-family','serif'):css('font-weight','bold')
:css('text-align','right'):css('padding','10px 10px')
:wikitext('”'):done()
:done()
if (personquoted or quotesource) then
local source = '— '..(personquoted or quotesource)
if (personquoted and quotesource) then source = '— '..personquoted..', ' .. quotesource end
t:tag('tr')
:tag('td'):wikitext(' '):done()
:tag('td'):attr('valign','top')
:tag('div'):css('line-height','1em'):css('text-align','right'):tag('cite'):css('font-style','normal'):wikitext(source):done()
:done()
:done()
end
return tostring(t)
end
function Quote.line( frame )
-- implements {{Line}}
end
function Quote.dialogue( frame )
-- implements {{Dialogue}}
end
return Quote