Content deleted Content added
alphabetize "default image" tracking category |
Reapply fixed version |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 108:
end
s = mw.ustring.lower(s)
image = mw.ustring.gsub(image,'^File:','') --- strip mistaken leading File: or Image:
image = mw.ustring.gsub(image,'^Image:','')
return image
end
local function exists(title)
local success, exists = pcall(function() return title.exists end)
-- If success = false, then we're out of expensive parser function calls and can't check whether it exists
-- in that case, don't throw a Lua error
return not success or exists
end
Line 154 ⟶ 164:
local portalTitle = mw.title.new(portal,"Portal")
-- if portal exists, put it into list
if portalTitle and
table.insert(existingPortals,portal)
-- otherwise set tracking cat
Line 195 ⟶ 205:
end
return root
end
local function noviewer(portalImage)
-- Function to add noviewer class to filespec for portalImage
local portalImage, hasClass = mw.ustring.gsub(portalImage, "class%s*=[^%|]+", "%0 noviewer")
if hasClass == 0 then
portalImage = portalImage.."|class=noviewer"
end
return portalImage
end
Line 242 ⟶ 261:
if portalImage == defaultImage then
defaultUsed = portal
else
portalImage = noviewer(portalImage)
end
local image = string.format('[[File:%s|32x28px
portalImage)
local link = string.format('[[Portal:%s|%s%sportal]]',
Line 249 ⟶ 270:
table.insert(contents, {image, link})
end
if defaultUsed and args.tracking and checkTracking() then
local cat = string.format('[[Category:Portal templates with default image|%s]]',
defaultUsed)
Line 268 ⟶ 289:
-- Display the portals specified in the positional arguments.
for _, fn in ipairs(imageList) do
local image = string.format('[[File:%s|32x28px
local link = string.format('[[:File:%s|%s]]',fn,fn)
table.insert(contents,{image,link})
Line 284 ⟶ 305:
local name = getImageName(portal)
-- If keep is yes (or equivalent), then allow all metadata (like image borders) to be returned
-- also, add "noviewer" class to metadata
local keepargs = yesno(keep)
if keepargs then
return noviewer(name)
end
-- otherwise, just keep filename, plus optional category
local args = mw.text.split(name, "|", true)
local result = {args[1]} -- the filename always comes first
Line 291 ⟶ 317:
for i = 2,#args do
local m = mw.ustring.match(args[i], "^%s*category%s*=")
if
table.insert(result, args[i])
end
|