Moduli:Citation/CS1/Utilities: Dallime mes rishikimesh
Content deleted Content added
Zhbëje versionin 22596 i bërë nga Klein Muçi (ligjëratë) Etiketa: Undo |
No edit summary |
||
Rreshti 17:
--[[--------------------------< H A S _ A C C E P T _ A S _ W R I T T E N >------------------------------------
with allow_empty = false, <str> must have at least one character inside the markup
with allow_empty = true, <str> the markup frame can be empty like (()) to distinguish an empty template parameter from the specific condition "has no applicable value" in citation-context.
After
]]
Rreshti 43:
]]
local function is_set (
return not (var == nil or var == '');
end
Rreshti 54:
]]
local function in_array (
if needle == nil then
return false;
end
for n, v in ipairs
if v == needle then
return n;
Rreshti 73:
]]
local function substitute (
return args and mw.message.newRawMessage (
end
Rreshti 84:
]]
local function error_comment (
return substitute
end
Rreshti 92:
Makes a wikilink; when both link and display text is provided, returns a wikilink in the form [[L|D]]; if only
link is provided (or link and display are the same), returns a wikilink in the form [[L]]; if neither are
provided or link is omitted, returns an empty string. ]=]
local function make_wikilink (link, display)
if not is_set (link) then return '' end
▲ return table.concat ({'[[', link, ']]'});
else
return table.concat ({'[[', link, ']]'});
end
end
Line 123 ⟶ 121:
local error_state = cfg.error_conditions[error_id];
prefix = prefix or
suffix = suffix or
if error_state == nil then
error
elseif is_set (error_state.category) then
if error_state.message then -- when error_state.message defined, this is an error message
table.insert (
else
if not added_maint_cats[error_id] then
Line 141 ⟶ 139:
end
local message = substitute (
message = table.concat (
Line 164 ⟶ 162:
end
message = table.concat ({
if raw == true then
Line 201 ⟶ 199:
end
if is_set (args[alias]) then -- alias is in the template's argument list
if value ~= nil and selected ~= alias then -- if we have already selected one of the aliases
local skip;
for _, v in ipairs (error_list) do -- spin through the error list to see if we've added this alias
if v == alias then
skip = true;
Line 211 ⟶ 209:
end
if not skip then -- has not been added so
table.insert (
end
else
Line 232 ⟶ 230:
if not added_maint_cats [key] then
added_maint_cats [key] = true; -- note that we've added this category
table.insert
end
end
Line 254 ⟶ 252:
added_prop_cats [key] = true; -- note that we've added this category
key = key:gsub ('(foreign_lang_source_?2?)%a%a%a?[%a%-]*', '%1'); -- strip lang code from keyname
table.insert
end
end
Line 269 ⟶ 267:
]]
local function safe_for_italics (
if not is_set (str) then return str end
▲ if str:sub(-1,-1) == "'" then str = str .. "<span></span>"; end
▲ -- Remove newlines as they break italics.
▲ return str:gsub( '\n', ' ' );
end
Line 291 ⟶ 288:
local function wrap_style (key, str)
if not is_set (
return "";
elseif in_array
str = safe_for_italics (
end
return substitute (
end
Line 325 ⟶ 322:
list = table.concat (list_seq, sep_list_pair); -- insert separator between two items; returns list_seq[1] then only one item
elseif 2 < count then
list = table.concat (list_seq, sep_list, 1, count - 1); -- concatenate all but last item with plain list separator
list = table.concat ({list, list_seq[count]}, sep_list_end); -- concatenate last item onto end of <list> with final separator
end
Line 353 ⟶ 350:
if index ~= nil then index = tostring(index); end
for _, alias in ipairs (
if alias:match ('#') then -- if this alias can be enumerated
if '1' == index then -- when index is 1 test for enumerated and non-enumerated aliases
Line 360 ⟶ 357:
value, selected = is_alias_used (args, alias, index, true, value, selected, error_list); -- test for enumerated alias
else
value, selected = is_alias_used (args, alias, index, false, value, selected, error_list); -- test for non-enumerated alias
end
end
Line 389 ⟶ 386:
local function remove_wiki_link (str)
return (str:gsub
return l:gsub
end));
end
Line 453 ⟶ 450:
local flag;
while true do
if argument:find (
argument, flag = argument:gsub ("%'%'%'%'%'", ""); -- remove all instances of it
elseif argument:find (
argument, flag=argument:gsub ("%'%'%'%'", "");
elseif argument:find (
argument, flag=argument:gsub ("%'%'%'", "");
elseif argument:find (
argument, flag = argument:gsub ("%'%'", "");
else
break;
|