Content deleted Content added
Fully turn all {{!}} into | now that tag is processed using functions rather than preprocessed text that needs escaping |
enable ignoreOnlyincludes |
||
(7 intermediate revisions by the same user not shown) | |||
Line 3:
local excerptModule = require('Module:Excerpt/portals/sandbox')
local randomModule = require('Module:Random')
function cleanupArgs(argsTable)
Line 40 ⟶ 39:
local sortedLines = nonRandom and galleryLines or randomModule.main('array', randomiseArgs)
for i = 1, #sortedLines do
--
"^(.+)(|alt=[^|]*)(.*)$",▼
"%2")▼
"%1%3%2")▼
end▼
sortedLines[i] = sortedLines[i]:gsub(
"|",
'|<span class="switcher-label" style="display:none"><span class="randomSlideshow-sr-only">Image ' .. tostring(i) .. '</span></span>',
1)
end
local galleryContent = table.concat(sortedLines, '\n')
Line 112 ⟶ 100:
file = mw.ustring.gsub(file, '|%s*center%s*([|%]])', '%1')
file = mw.ustring.gsub(file, '|%s*centre%s*([|%]])', '%1')
file = mw.ustring.gsub(file, '|%s*none%s*([|%]])', '%1')
file = mw.ustring.gsub(file, '|%s*baseline%s*([|%]])', '%1')
file = mw.ustring.gsub(file, '|%s*sub%s*([|%]])', '%1')
Line 124 ⟶ 113:
file = mw.ustring.gsub(file, '|%s*upright%s*=.-([|%]])', '%1')
file = mw.ustring.gsub(file, '|%s*link%s*=.-([|%]])', '%1')
file = mw.ustring.gsub(file, '|%s*lang%s*=.-([|%]])', '%1')
-- remove spaces prior to captions (which cause pre-formatted text)
file = mw.ustring.gsub(file, '|%s*', '|')
Line 137 ⟶ 127:
end
return files
--Central function for fixing issues that could occur in both gallery-fetched and file-fetched files
local function doubleCheck(file)
-- disable pipes in wikilinks
file = file:gsub(
"%[%[([^%]]-)|(.-)]]",
"[[%1__PIPE__%2]]")
-- move any alt parameter to the end to avoid putting the switcher in too early and causing a linter error
file = file:gsub(
-- bring back pipes in wikilinks
file = file:gsub(
"%[%[(.-)__PIPE__(.-)]]",
return file
end
Line 165 ⟶ 172:
content = excerptModule.getSection(content, args['section'..i]) or ''
end
content = excerptModule.cleanupText(content, {keepSubsections=true, ignoreOnlyincludes=true}) -- true means keep subsections
local galleryFiles = extractGalleryFiles(content)
Line 174 ⟶ 181:
local isOkay = excerptModule.checkImage(filename)
if isOkay then
table.insert(lines, doubleCheck(f.." (from '''[["..pagename.."]]''')"))
end
end
Line 184 ⟶ 191:
for _, f in pairs(extractRegularFiles(otherFiles)) do
if f and f ~= '' and mw.ustring.sub(f, 1, 5) == 'File:' and hasCaption(f) then
table.insert(lines, doubleCheck(f.." (from '''[["..pagename.."]]''')"))
end
end
|