Module:Citation/CS1/Utilities: Difference between revisions

Jump to navigation Jump to search
undo brute force hiding of deprecated parameter and missing periodical error messages;
m (21 revisions imported: Country infobox)
(undo brute force hiding of deprecated parameter and missing periodical error messages;)
Line 124:
});
 
-- message = table.concat ({message, ' (', substitute (cfg.presentation['wikilink'],
-- {cfg.messages['help page link'] .. '#' .. error_state.anchor, cfg.messages['help page label']}), ')'});
-- message = message .. " ([[" .. cfg.messages['help page link'] ..
-- "#" .. error_state.anchor .. "|" ..
-- cfg.messages['help page label'] .. "]])";
z.error_ids[ error_id ] = true;
if in_array( error_id, { 'bare_url_missing_title', 'trans_missing_title' } )
Line 340 ⟶ 334:
local wl_type = 2; -- assume that str is a complex wikilink [[L|D]]
 
L, D = str:match ('^%[%[([^|]+)|([^%]]+)%]%]$'); -- get L and D from [[L|D]]
 
if not is_set (D) then -- if no separate link
D = str:match ('^%[%[([^%]]*)|*%]%]$'); -- get D from [[D]]
wl_type = 1;
end
Line 356 ⟶ 350:
return wl_type, D, L or '';
end
 
 
--[[--------------------------< S T R I P _ A P O S T R O P H E _ M A R K U P >--------------------------------
 
Strip wiki italic and bold markup from argument so that it doesn't contaminate COinS metadata.
This function strips common patterns of apostrophe markup. We presume that editors who have taken the time to
markup a title have, as a result, provided valid markup. When they don't, some single apostrophes are left behind.
 
Returns the argument without wiki markup and a number; the number is more-or-less meaningless except as a flag
to indicate that markup was replaced; do not rely on it as an indicator of how many of any kind of markup was
removed; returns the argument and nil when no markup removed
 
]]
 
local function strip_apostrophe_markup (argument)
if not is_set (argument) then
return argument, nil; -- no argument, nothing to do
end
 
if nil == argument:find ( "''", 1, true ) then -- Is there at least one double apostrophe? If not, exit.
return argument, nil;
end
 
local flag;
while true do
if argument:find ( "'''''", 1, true ) then -- bold italic (5)
argument, flag=argument:gsub("%'%'%'%'%'", ""); -- remove all instances of it
elseif argument:find ( "''''", 1, true ) then -- italic start and end without content (4)
argument, flag=argument:gsub("%'%'%'%'", "");
elseif argument:find ( "'''", 1, true ) then -- bold (3)
argument, flag=argument:gsub("%'%'%'", "");
elseif argument:find ( "''", 1, true ) then -- italic (2)
argument, flag=argument:gsub("%'%'", "");
else
break;
end
end
 
return argument, flag; -- done
end
 
Line 388 ⟶ 422:
make_wikilink = make_wikilink,
set_selected_modules = set_selected_modules,
strip_apostrophe_markup = strip_apostrophe_markup,
z = z, -- exported table
}
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu