Difference between revisions of "Module:Respell"
m (1 revision: All angiosperm orders - part 5) |
m (1 revision) |
||
(One intermediate revision by the same user not shown) | |||
Line 14: | Line 14: | ||
v = mw.ustring.gsub(v, '_', ' ') | v = mw.ustring.gsub(v, '_', ' ') | ||
else | else | ||
− | if v == mw.ustring.upper(v) then | + | if mw.ustring.find(v, '%u') and v == mw.ustring.upper(v) then |
v = string.format("'''%s'''", v) | v = string.format("'''%s'''", v) | ||
end | end | ||
− | if i ~= 1 and not hasUnsc[i - 1] then | + | if i ~= 1 and not hasUnsc[i - 1] and v ~= '-' then |
table.insert(ret, '-') | table.insert(ret, '-') | ||
end | end |
Revision as of 17:46, 14 September 2017
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 v = string.format("%s", v) 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 ... local small = mw.html.create('small') small :attr('title', 'English pronunciation respelling') :tag('i') :wikitext(table.concat(ret)) ret = tostring(small)
-- For documentation: Disable linking by adding a blank parameter at the end if args[j] ~= then ret = string.format('%s', ret) end
return ret end
function p.main(frame) local args = getArgs(frame, {removeBlanks = false}) return p._main(args) end
return p