Module:Respell: Difference between revisions

From Seeds of the Word, the encyclopedia of the influence of the Gospel on culture
(simpler)
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 26: Line 26:
.. '</i>'
.. '</i>'
if args.link ~= 'no' then
if args.link ~= 'no' then
ret = '[[Help:Pronunciation respelling key|' .. ret .. ']]'
ret = '[[wikipedia:Help:Pronunciation respelling key|' .. ret .. ']]'
end
end
return ret
return ret

Latest revision as of 22:42, September 10, 2020

Documentation for this module may be created at Module:Respell/doc

local p = {}

function p._main(args)
	local ret = {}
	for i, v in ipairs(args) do
		v = mw.text.trim(v)
		-- Compatibility: Ignore arguments that only contain an apostrophe
		if v ~= '' and v ~= "'" then
			if ret[#ret]
				and not (ret[#ret]:find('_') or ret[#ret]:find('%-%)?$'))
				and not (v:find('_') or v:find('^%(?%-'))
			then
				table.insert(ret, '-')
			end
			if v:find('^[%u%(%)]+$') then
				v = '<span style="font-size:90%">' .. v .. '</span>'
			end
			table.insert(ret, v)
		end
	end
	ret = '<i title="English pronunciation respelling">' ..
		table.concat(ret):gsub('_', ' ')
			 -- Avoid dangling hyphens
			:gsub(' %-', ' -&#8288;')
			:gsub('^%-', '-&#8288;')
		.. '</i>'
	if args.link ~= 'no' then
		ret = '[[wikipedia:Help:Pronunciation respelling key|' .. ret .. ']]'
	end
	return ret
end

function p.main(frame)
	return p._main(frame:getParent().args)
end

return p