Module:Gaps: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>The Mol Man
this method of creation is indeed more efficient
meta>Jackmcbarn
don't mix mw.html and building by hand unnecessarily
Line 16: Line 16:
ret_span:css('font-size',args.size)
ret_span:css('font-size',args.size)
end
end
local ret_string = ''
if args.lhs then
if args.lhs then
ret_string = ret_string .. args.lhs .. ' = '
ret_span:wikitext(args.lhs .. ' = ')
end
end


for _,v in ipairs(args) do
for _,v in ipairs(args) do
ret_string = ret_string .. tostring(mw.html.create('span')
ret_span:tag('span')
:css('margin-left','0.2em')
:css('margin-left','0.2em')
:wikitext(v))
:wikitext(v)
end
end


if args.e then
if args.e then
local base = args.base or '10'
local base = args.base or '10'
ret_string = ret_string .. tostring(mw.html.create('span')
ret_span
:css('margin-left','0.27em')
:tag('span')
:css('margin-right','0.27em')
:css('margin-left','0.27em')
:wikitext('×'))..
:css('margin-right','0.27em')
base .. tostring(mw.html.create('span')
:wikitext('×')
:css('display','none')
:done()
:wikitext('^'))..
:wikitext(base)
tostring(mw.html.create('sup')
:tag('span')
:wikitext(args.e:gsub('-','−')))
:css('display','none')
:wikitext('^')
:done()
:tag('sup')
:wikitext(args.e:gsub('-','−'))
:done()
end
end


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


return ret_span
return ret_span

Revision as of 23:53, 10 July 2014

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 size

	local ret_span = mw.html.create('span')
				:css('white-space','nowrap')
				
	if args.size then
		ret_span:css('font-size',args.size)
	end
	
	if args.lhs then
		ret_span:wikitext(args.lhs .. ' = ')
	end

	for _,v in ipairs(args) do
		ret_span:tag('span')
			:css('margin-left','0.2em')
			:wikitext(v)
	end

	if args.e then
		local base = args.base or '10'
		ret_span
			:tag('span')
				:css('margin-left','0.27em')
				:css('margin-right','0.27em')
				:wikitext('×')
			:done()
			:wikitext(base)
			:tag('span')
				:css('display','none')
				:wikitext('^')
			:done()
			:tag('sup')
				:wikitext(args.e:gsub('-','−'))
			:done()
	end

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

	return ret_span
end

return p