Module:InfoboxImage: Difference between revisions

From Test Wiki
Content deleted Content added
Sony (talk | contribs)
m 1 revision imported
CanonNi (talk | contribs)
m 1 revision imported
 
(3 intermediate revisions by 3 users not shown)
Line 12: Line 12:
-- suppressplaceholder - if yes then checks to see if image is a placeholder and suppresses it
-- suppressplaceholder - if yes then checks to see if image is a placeholder and suppresses it
-- link - page to visit when clicking on image
-- link - page to visit when clicking on image
-- class - HTML classes to add to the image
-- Outputs:
-- Outputs:
-- Formatted image.
-- Formatted image.
Line 21: Line 22:
"Blue - Replace this image female.svg",
"Blue - Replace this image female.svg",
"Blue - Replace this image male.svg",
"Blue - Replace this image male.svg",
"Female no free image yet.png",
"Flag of None (square).svg",
"Flag of None (square).svg",
"Flag of None.svg",
"Flag of None.svg",
Line 38: Line 38:
"Red - Replace this image female.svg",
"Red - Replace this image female.svg",
"Red - Replace this image male.svg",
"Red - Replace this image male.svg",
"Replace this image female (blue).svg",
"Replace this image female.svg",
"Replace this image female.svg",
"Replace this image male (blue).svg",
"Replace this image male (blue).svg",
Line 88: Line 87:
"Project Trains no image.png",
"Project Trains no image.png",
"Image-request.png",
"Image-request.png",
"Noimage.gif",
}
}

local categories = {
url_image_links = "[[Category:Pages using infoboxes with URL in image parameter]]",
thumbnail_images = "[[Category:Pages using infoboxes with thumbnail images]]",
}

local function trackable()
local ns = mw.title.getCurrentTitle().nsText:lower()
return not (ns == 'user' or ns == 'user talk')
end


function i.IsPlaceholder(image)
function i.IsPlaceholder(image)
Line 140: Line 150:
end
end
end
end

if mw.ustring.lower(mw.ustring.sub(image,1,5)) == "http:" then
if string.find(image, "^%[*https?:") then
-- Error category.
return "";
return trackable() and categories.url_image_links or ""
end
end
if mw.ustring.lower(mw.ustring.sub(image,1,6)) == "[http:" then
return "";
end
if mw.ustring.lower(mw.ustring.sub(image,1,7)) == "[[http:" then
return "";
end
if mw.ustring.lower(mw.ustring.sub(image,1,6)) == "https:" then
return "";
end
if mw.ustring.lower(mw.ustring.sub(image,1,7)) == "[https:" then
return "";
end
if mw.ustring.lower(mw.ustring.sub(image,1,8)) == "[[https:" then
return "";
end


if mw.ustring.sub(image,1,2) == "[[" then
if mw.ustring.sub(image,1,2) == "[[" then
-- search for thumbnail images and add to tracking cat if found
-- search for thumbnail images and add to tracking cat if found
local cat = "";
if mw.title.getCurrentTitle().namespace == 0 and (mw.ustring.find(image, "|%s*thumb%s*[|%]]") or mw.ustring.find(image, "|%s*thumbnail%s*[|%]]")) then
if mw.title.getCurrentTitle().namespace == 0 and (mw.ustring.find(image, "|%s*thumb%s*[|%]]") or mw.ustring.find(image, "|%s*thumbnail%s*[|%]]")) then
cat = trackable() and categories.thumbnail_images or ""
return image .. "[[Category:Pages using infoboxes with thumbnail images]]";
elseif mw.title.getCurrentTitle().namespace == 0 then
return image .. "[[Category:Pages using deprecated image syntax]]";
else
return image;
end
end
return image .. cat;
elseif mw.ustring.sub(image,1,2) == "{{" and mw.ustring.sub(image,1,3) ~= "{{{" then
elseif mw.ustring.sub(image,1,2) == "{{" and mw.ustring.sub(image,1,3) ~= "{{{" then
return image;
return image;
elseif mw.ustring.sub(image,1,1) == "<" then
elseif mw.ustring.sub(image,1,1) == "<" then
return image;
return image;
elseif mw.ustring.sub(image,1,5) == mw.ustring.char(127).."UNIQ" then
elseif mw.ustring.sub(image,1,8) == mw.ustring.char(127).."'\"`UNIQ" then
-- Found strip marker at begining, so pass don't process at all
return image;
elseif mw.ustring.sub(image,4,9) == "`UNIQ-" then
-- Found strip marker at begining, so pass don't process at all
-- Found strip marker at begining, so pass don't process at all
return image;
return image;
Line 191: Line 182:
local upright = frame.args["upright"] or "";
local upright = frame.args["upright"] or "";
local thumbtime = frame.args["thumbtime"] or "";
local thumbtime = frame.args["thumbtime"] or "";
local center= frame.args["center"];
local center = frame.args["center"];
local class = frame.args["class"];
-- remove prefix if exists
-- remove prefix if exists
Line 257: Line 249:
if thumbtime ~= "" then
if thumbtime ~= "" then
result = result .. "|thumbtime=" .. thumbtime;
result = result .. "|thumbtime=" .. thumbtime;
end
if class ~= nil and class ~= "" then
result = result .. "|class=" .. class;
end
-- if alt value is a keyword then do not use as a description
if alt == "thumbnail" or alt == "thumb" or alt == "frameless" or alt == "left" or alt == "center" or alt == "right" or alt == "upright" or alt == "border" or mw.ustring.match(alt or "", '^[0-9]*px$', 1) ~= nil then
alt = nil;
end
if title ~= "" and title ~= nil then
-- does title param contain any templatestyles? If yes then set to blank.
if mw.ustring.match(frame:preprocess(title), 'UNIQ%-%-templatestyles', 1) ~= nil then
title = nil;
end
end
end
if title ~= "" and title ~= nil then
if title ~= "" and title ~= nil then
result = result .. "|" .. title;
result = result .. "|" .. title;
elseif alt ~= "" and alt ~= nil then
result = result .. "|" .. alt;
end
end
result = result .. "]]";
result = result .. "]]";