Module:Findimage
MyWikiBiz, Author Your Legacy — Friday February 07, 2025
Jump to navigationJump to searchUsage
{{#invoke:Findimage|scan}}
{{#invoke:Findimage|scan|page title}}
{{#invoke:Findimage|scan|title=page title}}
-- Find Image -- returns the first filename in the current page -- checks for [[File:, [[Image:, infobox image, gallery local p = {} function p.scan(frame) local args = frame.args local pargs = frame:getParent().args for k, v in pairs(pargs) do args[k] = v end -- first unnamed parameter or |title= local title = mw.text.trim(args[1] or args.title or "", "\t\r\n\f %[%]") local titleobj if title == "" then titleobj = mw.title.getCurrentTitle() else titleobj = mw.title.new(title) end local pagetxt = titleobj:getContent() if not pagetxt then return nil end -- look for first [[File: local start, last, txt = pagetxt:find("%[%[[Ff]ile:([^|%]]*)") -- look for first [[Image: local start1, last1, txt1 = pagetxt:find("%[%[[Ii]mage:([^|%]]*)") -- look for infobox image local start2, last2, txt2 = pagetxt:find("|%s*image%s*=%s*([^.]*.%a*)%A") if (start1 or 1e8) < (start or 1e8) then start, last, txt = start1, last1, txt1 end if (start2 or 1e8) < (start or 1e8) then start, last, txt = start2, last2, txt2 end if not txt then -- look for gallery with Image: local start3, last3, txt3 = pagetxt:find("[Ii]mage:%s*([^.]*.%a*)%A") if (start3 or 1e8) < (start or 1e8) then start, last, txt = start3, last3, txt3 end end return txt end return p