Modul:Respell

Aus Kryptowiki - Die freie Enzyklopädie der Kryptowährungen
Version vom 28. Dezember 2017, 15:53 Uhr von Nardog (Diskussion) (abandon small/bold, instead lower stressed syllables per discussion at Template talk:Respell)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Die Dokumentation für dieses Modul kann unter Modul:Respell/Doku erstellt werden

local p = {}
local getArgs = require('Module:Arguments').getArgs

function p._main(args)
	local ret = {}
	local hasUnsc = {}
	local j = 0
	
	for i, v in ipairs(args) do
		-- Compatibility: Ignore arguments that only contain an apostrophe
		if v and v ~= '' and v ~= "'" then
			hasUnsc[i] = mw.ustring.find(v, '_')
			if hasUnsc[i] then
				v = mw.ustring.gsub(v, '_', ' ')
			else
				if mw.ustring.find(v, '%u') and v == mw.ustring.upper(v) then
					local span = mw.html.create('span')
						:css('font-size', '90%')
						:wikitext(v)
					v = tostring(span)
				end
				if i ~= 1 and not hasUnsc[i - 1] and v ~= '-' then
					table.insert(ret, '-')
				end
			end
			table.insert(ret, v)
		end
		j = i
	end
	
	-- Create <i title="...">...</i>
	local italic = mw.html.create('i')
		:attr('title', 'English pronunciation respelling')
		:wikitext(table.concat(ret))
	ret = tostring(italic)
	
	-- For documentation: Disable linking by adding a blank parameter at the end
	if args[j] ~= '' then 
		ret = string.format('[[Help:Pronunciation respelling key|%s]]', ret)
	end
	
	return ret
end

function p.main(frame)
	local args = getArgs(frame, {removeBlanks = false})
	return p._main(args)
end

return p

Spenden-Adressen:
Bitcoin Icon BTC: 1EoecgUZnAjamUYaKstqwbremQqbucTaoZ
Ethereum Icon ETH: 0x0D2Ab63dfe70a7fA12f9d66eCfEA9dDc8F5173A8
XEM Icon XEM: NBZPMU-XES6ST-ITEBR3-IHAPTR-APGI3Y-RAAMHV-VZFJ
Verge Icon XVG: DGYmzxoe3ryK6MnsR13GqR9r1NThpxPcKs