Difference between revisions of "Module:Respell"
Jump to navigation
Jump to search
blackwiki>Nardog (avoid dangling hyphens) |
blackwiki>Nardog (disabling link is now done by link=no because people were inadvertently putting blank parameters at the end) |
||
| Line 3: | Line 3: | ||
function p._main(args) | function p._main(args) | ||
local ret = {} | local ret = {} | ||
| − | |||
for i, v in ipairs(args) do | for i, v in ipairs(args) do | ||
v = mw.text.trim(v) | v = mw.text.trim(v) | ||
| Line 18: | Line 17: | ||
table.insert(ret, v) | table.insert(ret, v) | ||
end | end | ||
| − | |||
| − | |||
end | end | ||
ret = '<i title="English pronunciation respelling">' .. | ret = '<i title="English pronunciation respelling">' .. | ||
table.concat(ret):gsub('_', ' ') | table.concat(ret):gsub('_', ' ') | ||
| − | :gsub(' %-', ' -⁠') | + | -- Avoid dangling hyphens |
| + | :gsub(' %-', ' -⁠') | ||
:gsub('^%-', '-⁠') | :gsub('^%-', '-⁠') | ||
.. '</i>' | .. '</i>' | ||
| − | ret = | + | if args.link ~= 'no' then |
| + | ret = '[[Help:Pronunciation respelling key|' .. ret .. ']]' | ||
| + | end | ||
return ret | return ret | ||
end | end | ||
Revision as of 13:30, 16 March 2019
| 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