Difference between revisions of "Module:Respell"
(abandon small/bold, instead lower stressed syllables per discussion at Template talk:Respell) |
m (1 revision imported) |
(No difference)
|
Latest revision as of 22:40, 24 October 2018
Documentation for this module may be created at Module:Respell/doc
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