Module:InfoboxImage: Difference between revisions

don't use alt as a title when title not set
m (1 revision imported)
w>WOSlinker
(don't use alt as a title when title not set)
Line 1: Line 1:
-- Inputs:
-- Inputs:
--    image - Can either be a bare filename (with or without the File:/Image: prefix) or a fully formatted image link
--    image - Can either be a bare filename (with or without the File:/Image: prefix) or a fully formatted image link
--    page - page to display for multipage images (DjVu)
--    size - size to display the image
--    size - size to display the image
--    maxsize - maximum size for image
--    maxsize - maximum size for image
Line 87: Line 88:
"Project Trains no image.png",
"Project Trains no image.png",
"Image-request.png",
"Image-request.png",
"Noimage.gif",
}
}


Line 161: Line 163:
     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
             return image .. "[[Category:Pages using infoboxes with thumbnail images]]";
             cat = "[[Category:Pages using infoboxes with thumbnail images]]";
        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;
Line 171: Line 173:
         return image;
         return image;
     elseif mw.ustring.sub(image,1,5) == mw.ustring.char(127).."UNIQ" then
     elseif mw.ustring.sub(image,1,5) == 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;
     else
     else
         local result = "";
         local result = "";
        local page = frame.args["page"];
         local size = frame.args["size"];
         local size = frame.args["size"];
         local maxsize = frame.args["maxsize"];
         local maxsize = frame.args["maxsize"];
Line 214: Line 220:
         if (tonumber(size) or 0) > 0 then
         if (tonumber(size) or 0) > 0 then
             size = size .. "px";
             size = size .. "px";
        end
        -- add px to sizedefault if just a number
        if (tonumber(sizedefault) or 0) > 0 then
            sizedefault = sizedefault .. "px";
         end
         end
          
          
         result = "[[File:" .. image;
         result = "[[File:" .. image;
        if page ~= "" and page ~= nil then
            result = result .. "|page=" .. page;
        end
         if size ~= "" and size ~= nil then
         if size ~= "" and size ~= nil then
             result = result .. "|" .. size;
             result = result .. "|" .. size;
Line 243: Line 256:
         if thumbtime ~= "" then
         if thumbtime ~= "" then
             result = result .. "|thumbtime=" .. thumbtime;
             result = result .. "|thumbtime=" .. thumbtime;
        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 .. "]]";
Anonymous user