Changes
Jump to navigation
Jump to search
Line 96:
Line 96:
− +
− local replacements = {+
− ["%.%.$"] = ".",
− ["%?%.$"] = "?",
− ["%!%.$"] = "!",
− ["%.%]%]%.$"] = ".]]",
− ["%?%]%]%.$"] = "?]]",
− ["%!%]%]%.$"] = "!]]"
− }
− for k, v in pairs(replacements) do text = string.gsub(text, k, v) end
− return text
Line 150:
Line 141:
− +
Line 161:
Line 152:
− +
Updated from sandbox: added support for punctuation collapse when text is italicized. The update's content includes changes by users Johnuniq, Dexxor, and Nihiltres.
}
}
--Collapses duplicate punctuation
--Collapses duplicate punctuation at end of string, ignoring italics and links
local function punctuationCollapse (text)
local function punctuationCollapse (text)
return text:match("[.?!]('?)%1(%]?)%2%.$") and text:sub(1, -2) or text
end
end
-- until the "and"'s stop. Blanks are ignored: "1|and||and|3" → {1, 3}
-- until the "and"'s stop. Blanks are ignored: "1|and||and|3" → {1, 3}
while args[i + 2] == options.andKeyword do
while args[i + 2] == options.andKeyword do
if args[i + 3] then
if args[i + 3] then
table.insert(forRow.pages, args[i + 3])
table.insert(forRow.pages, args[i + 3])
end
end
table.insert(forTable, forRow)
table.insert(forTable, forRow)
until terminated or i > maxArg
until terminated or i > maxArg
return forTable
return forTable
end
end