local p = {}
local getArgs
function p.main(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
local args = getArgs(frame, {wrappers = 'Template:Gaps'})
local ret_span = mw.html.create('span')
:css('white-space','nowrap')
:css('font-size',args.size)
if args.lhs then
ret_span:wikitext(args.lhs .. ' = ')
end
for k,v in ipairs(args) do
if k == 1 then
ret_span:wikitext(v)
else
ret_span:tag('span')
:css('margin-left','0.2em')
:wikitext(v)
end
end
if args.e then
ret_span
:tag('span')
:css('margin-left','0.27em')
:css('margin-right','0.27em')
:wikitext('×')
:done()
:wikitext(args.base or '10')
:tag('span')
:css('display','none')
:wikitext('^')
:done()
:tag('sup')
-- the double parentheses here are not redundant.
-- they keep the second return value from being passed
:wikitext((mw.ustring.gsub(args.e,'-','−')))
:done()
end
if args.u then
ret_span:wikitext(' ' .. args.u)
end
return ret_span
end
return p