Module:Respell/sandbox: Difference between revisions
Appearance
Content deleted Content added
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
-- Compatibility: Ignore arguments that only contain an apostrophe |
-- Compatibility: Ignore arguments that only contain an apostrophe |
||
if v ~= '' and v ~= "'" then |
if v ~= '' and v ~= "'" then |
||
if ret[#ret] |
if ret[#ret] |
||
and not (ret[#ret]:find('_') or ret[#ret]:find('%-%)?$')) |
|||
and not (v:find('_') or v:find('^%(?%-')) |
|||
or ret[#ret]:find('%-%)$') |
|||
) |
|||
and not (v:find('_') or v:find('^%-') or v:find('^%(%-')) |
|||
then |
then |
||
table.insert(ret, '-') |
table.insert(ret, '-') |
Latest revision as of 17:08, 14 August 2019
This is the module sandbox page for Module:Respell (diff). |
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 Lua module is used on approximately 19,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
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