Module:Gaps: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>Jackmcbarn
fix extra character ending up in result
meta>The Mol Man
m just some touch up
Line 9: Line 9:
local args = getArgs(frame, {wrappers = 'Template:Gaps'})
local args = getArgs(frame, {wrappers = 'Template:Gaps'})


local ret_span = mw.html.create('span')
local ret = mw.html.create('span')
:css('white-space','nowrap')
:css({['white-space'] = 'nowrap',
:css('font-size',args.size)
['font-size'] = args.size})


if args.lhs then
if args.lhs then
ret_span:wikitext(args.lhs .. ' = ')
ret:wikitext(args.lhs .. ' = ')
end
end


for k,v in ipairs(args) do
for k,v in ipairs(args) do
if k == 1 then
if k == 1 then
ret_span:wikitext(v)
ret:wikitext(v)
else
else
ret_span:tag('span')
ret:tag('span')
:css('margin-left','0.2em')
:css('margin-left','0.2em')
:wikitext(v)
:wikitext(v)
Line 28: Line 28:


if args.e then
if args.e then
ret_span
ret
:tag('span')
:tag('span')
:css('margin-left','0.27em')
:css({['margin-left'] = '0.27em',
:css('margin-right','0.27em')
['margin-right']= '0.27em'})
:wikitext('×')
:wikitext('×')
:done()
:done()
Line 47: Line 47:


if args.u then
if args.u then
ret_span:wikitext(' ' .. args.u)
ret:wikitext(' ' .. args.u)
end
end


return ret_span
return ret
end
end


return p
return p

Revision as of 18:34, 10 January 2015

Documentation for this module may be created at Module:Gaps/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:Gaps'})

	local ret = mw.html.create('span')
		:css({['white-space'] = 'nowrap',
				['font-size'] = args.size})

	if args.lhs then
		ret:wikitext(args.lhs .. ' = ')
	end

	for k,v in ipairs(args) do
		if k == 1 then
			ret:wikitext(v)
		else
			ret:tag('span')
				:css('margin-left','0.2em')
				:wikitext(v)
		end
	end

	if args.e then
		ret
			:tag('span')
				:css({['margin-left'] = '0.27em',
						['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:wikitext(' ' .. args.u)
	end

	return ret
end

return p