Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:Gaps/sandbox

From Wikipedia, the free encyclopedia
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