Module:Respell
From Thetacola Wiki
Revision as of 11:08, 14 August 2019 by en>Nardog (simpler)
File:Full-protection-shackle.svg | This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
This module implements {{Respell}}. Please see the template page for documentation.
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(' %-', ' -⁠') :gsub('^%-', '-⁠') .. '</i>' if args.link ~= 'no' then ret = '[[Help:Pronunciation respelling key|' .. ret .. ']]' end return ret end function p.main(frame) return p._main(frame:getParent().args) end return p