Module:Gaps: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>The Mol Man
No edit summary
meta>The Mol Man
this method of creation is indeed more efficient
Line 10: Line 10:
local size
local size


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


local ret_string = '<span style="white-space:nowrap' .. size .. '">'
local ret_string = ''
 
if args.lhs then
if args.lhs then
ret_string = ret_string .. args.lhs .. ' = '
ret_string = ret_string .. args.lhs .. ' = '
Line 23: Line 24:


for _,v in ipairs(args) do
for _,v in ipairs(args) do
ret_string = ret_string .. '<span style="margin-left: 0.2em">' ..  v .. '</span>'
ret_string = ret_string .. tostring(mw.html.create('span')
:css('margin-left','0.2em')
: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 .. '<span style="margin-left: 0.27em; margin-right: 0.27em">×</span>'..
ret_string = ret_string .. tostring(mw.html.create('span')
base .. '<span style="display:none">^</span><sup>' .. args.e:gsub('-','−') .. '</sup>'
:css('margin-left','0.27em')
:css('margin-right','0.27em')
:wikitext('×'))..
base .. tostring(mw.html.create('span')
:css('display','none')
:wikitext('^'))..
tostring(mw.html.create('sup')
:wikitext(args.e:gsub('-','−')))
end
end


Line 36: Line 46:
end
end


ret_string = ret_string .. '</span>'
ret_span:wikitext(ret_string)


return ret_string
return ret_span
end
end


return p
return p

Revision as of 23:08, 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

	local ret_string = ''
	
	if args.lhs then
		ret_string = ret_string .. args.lhs .. ' = '
	end

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

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

	if args.u then
		ret_string = ret_string .. '&nbsp;' .. args.u
	end

	ret_span:wikitext(ret_string)

	return ret_span
end

return p