Module:Portal: Difference between revisions

Content deleted Content added
Undid revision 1292005673 by Pppery (talk) revert for now — this change is rendering errors in articlespace on multiple pages
Reapply fixed version
 
Line 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 252 ⟶ 261:
if portalImage == defaultImage then
defaultUsed = portal
else
portalImage = noviewer(portalImage)
end
local image = string.format('[[File:%s|32x28px|class=noviewer]]',
portalImage)
local link = string.format('[[Portal:%s|%s%sportal]]',
Line 278 ⟶ 289:
-- Display the portals specified in the positional arguments.
for _, fn in ipairs(imageList) do
local image = string.format('[[File:%s|32x28px|class=noviewer]]',noviewer(fn))
local link = string.format('[[:File:%s|%s]]',fn,fn)
table.insert(contents,{image,link})
Line 294 ⟶ 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 301 ⟶ 317:
for i = 2,#args do
local m = mw.ustring.match(args[i], "^%s*category%s*=")
if keepargs or m then
table.insert(result, args[i])
end