Module:Gaps: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>Jackmcbarn
iterate over right thing
meta>Mirokado
append the closing /span to the outer-level container; using the mirror link I ended up with different trailing whitespace on blank lines, removed for tidiness; see sandbox and Module:Gaps/testcases
Line 9: Line 9:
local args = getArgs(frame, {wrappers = 'Template:Gaps'})
local args = getArgs(frame, {wrappers = 'Template:Gaps'})
local size
local size
 
if args.size then
if args.size then
size = ';font-size:' .. args.size
size = ';font-size:' .. args.size
Line 15: Line 15:
size = ''
size = ''
end
end
 
local ret_string = '<span style="white-space:nowrap' .. size .. '">'
local ret_string = '<span style="white-space:nowrap' .. size .. '">'
 
if args.lhs then
if args.lhs then
ret_string = ret_string .. args.lhs .. ' = '
ret_string = ret_string .. args.lhs .. ' = '
end
end
 
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 .. '<span style="margin-left: 0.2em">' ..  v .. '</span>'
end
end
 
if args.e then
if args.e then
local base = args.base or '10'
local base = args.base or '10'
Line 31: Line 31:
base .. '<span style="display:none">^</span><sup>' .. args.e:gsub('-','−') .. '</sup>'
base .. '<span style="display:none">^</span><sup>' .. args.e:gsub('-','−') .. '</sup>'
end
end
 
if args.u then
if args.u then
ret_string = ret_string .. '&nbsp;' .. args.u
ret_string = ret_string .. '&nbsp;' .. args.u
end
end
 
ret_string = ret_string .. '</span>'
 
return ret_string
return ret_string
end
end


return p
return p

Revision as of 02:22, 3 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

	if args.size then
		size = ';font-size:' .. args.size
	else
		size = ''
	end

	local ret_string = '<span style="white-space:nowrap' .. size .. '">'

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

	for _,v in ipairs(args) do
		ret_string = ret_string .. '<span style="margin-left: 0.2em">' ..  v .. '</span>'
	end

	if args.e then
		local base = args.base or '10'
		ret_string = ret_string .. '<span style="margin-left: 0.27em; margin-right: 0.27em">×</span>'..
					base .. '<span style="display:none">^</span><sup>' .. args.e:gsub('-','−') .. '</sup>'
	end

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

	ret_string = ret_string .. '</span>'

	return ret_string
end

return p