Toggle menu
14
232
69
27.2K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 07:15, 17 February 2025 by Prd (talk | contribs) (Created page with "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 local gap = string.lower(args.gap or '') local gapSize, gapUnit = string.match(gap,'([%d%.]+)%s*([ep][mnx])') local acc...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Implements {{Gaps}}, which adds a small gap of space with cascading style sheets (C.S.S.) between every parameter.



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

	local gap = string.lower(args.gap or '')
	
	local gapSize, gapUnit = string.match(gap,'([%d%.]+)%s*([ep][mnx])')
	
	local acceptedUnits = { em = 'em', en = 'en', px = 'px' }
	
	gapUnit = acceptedUnits[gapUnit]
	
	if gapSize and gapUnit then
		gap = gapSize..gapUnit
	else
		gap = '0.25em'
	end
	
	for k,v in ipairs(args) do
		if k == 1 then
			ret:wikitext(v)
		else
			ret:tag('span')
				:css('margin-left',gap)
				: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