นี่เป็นมอดูลที่ถูกป้องกันถาวรเนื่องจากมีความเสี่ยงสูง กรุณาอภิปรายการเปลี่ยนแปลงใด ๆ ทาง(หน้าคุย) คุณอาจส่งคำขอแก้ไขไปยังเพื่อให้แก้ไขได้หากเป็นการแก้ไขที่ไม่มีการคัดค้านหรือมีความเห็นพ้องสนับสนุน คุณยังสามารถขอให้เลิกป้องกันหน้าได้ |
คุณอาจจะต้องการสร้างคู่มือการใช้งานของนี้ ผู้เขียนสามารถทำการทดลองได้ที่กระบะทราย (สร้าง | คัดลอก) และชุดทดสอบ (สร้าง) ของมอดูลนี้ โปรดเพิ่มหมวดหมู่ไปที่หน้าย่อย |
-- Inputs: -- 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 -- maxsize - maximum size for image -- sizedefault - default size to display the image if size param is blank -- alt - alt text for image -- title - title text for image -- border - set to yes if border -- center - set to yes, if the image has to be centered -- upright - upright image param -- suppressplaceholder - if yes then checks to see if image is a placeholder and suppresses it -- link - page to visit when clicking on image -- Outputs: -- Formatted image. -- More details available at the "Module:InfoboxImage/doc" page local i = {}; local placeholder_image = { "Blue - Replace this image female.svg", "Blue - Replace this image male.svg", "Female no free image yet.png", "Flag of None (square).svg", "Flag of None.svg", "Flag of.svg", "Green - Replace this image female.svg", "Green - Replace this image male.svg", "Image is needed female.svg", "Image is needed male.svg", "Location map of None.svg", "Male no free image yet.png", "Missing flag.png", "No flag.svg", "No free portrait.svg", "No portrait (female).svg", "No portrait (male).svg", "Red - Replace this image female.svg", "Red - Replace this image male.svg", "Replace this image female (blue).svg", "Replace this image female.svg", "Replace this image male (blue).svg", "Replace this image male.svg", "Silver - Replace this image female.svg", "Silver - Replace this image male.svg", "Replace this image.svg", "Cricket no pic.png", "CarersLogo.gif", "Diagram Needed.svg", "Example.jpg", "Image placeholder.png", "No male portrait.svg", "Nocover-upload.png", "NoDVDcover copy.png", "Noribbon.svg", "No portrait-BFD-test.svg", "Placeholder barnstar ribbon.png", "Project Trains no image.png", "Image-request.png", "Sin bandera.svg", "Sin escudo.svg", "Replace this image - temple.png", "Replace this image butterfly.png", "Replace this image.svg", "Replace this image1.svg", "Resolution angle.png", "Image-No portrait-text-BFD-test.svg", "Insert image here.svg", "No image available.png", "NO IMAGE YET square.png", "NO IMAGE YET.png", "No Photo Available.svg", "No Screenshot.svg", "No-image-available.jpg", "Null.png", "PictureNeeded.gif", "Place holder.jpg", "Unbenannt.JPG", "UploadACopyrightFreeImage.svg", "UploadAnImage.gif", "UploadAnImage.svg", "UploadAnImageShort.svg", "CarersLogo.gif", "Diagram Needed.svg", "No male portrait.svg", "NoDVDcover copy.png", "Placeholder barnstar ribbon.png", "Project Trains no image.png", "Image-request.png", "Noimage.gif", } function i.IsPlaceholder(image) -- change underscores to spaces image = mw.ustring.gsub(image, "_", " "); assert(image ~= nil, 'mw.ustring.gsub(image, "_", " ") must not return nil') -- if image starts with [[ then remove that and anything after | if mw.ustring.sub(image,1,2) == "[[" then image = mw.ustring.sub(image,3); image = mw.ustring.gsub(image, "([^|]*)|.*", "%1"); assert(image ~= nil, 'mw.ustring.gsub(image, "([^|]*)|.*", "%1") must not return nil') end -- Trim spaces image = mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1'); assert(image ~= nil, "mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1') must not return nil") -- remove prefix if exists local allNames = mw.site.namespaces[6].aliases allNames[#allNames + 1] = mw.site.namespaces[6].name allNames[#allNames + 1] = mw.site.namespaces[6].canonicalName for i, name in ipairs(allNames) do if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) == mw.ustring.lower(name .. ":") then image = mw.ustring.sub(image, mw.ustring.len(name) + 2); break end end -- Trim spaces image = mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1'); -- capitalise first letter image = mw.ustring.upper(mw.ustring.sub(image,1,1)) .. mw.ustring.sub(image,2); for i,j in pairs(placeholder_image) do if image == j then return true end end return false end function i.InfoboxImage(frame) local image = frame.args["image"]; if image == "" or image == nil then return ""; end if image == " " then return image; end if frame.args["suppressplaceholder"] ~= "no" then if i.IsPlaceholder(image) == true then return ""; end end if mw.ustring.lower(mw.ustring.sub(image,1,5)) == "http:" then return ""; 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 -- 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 cat = "[[หมวดหมู่:หน้าที่ใช้กล่องข้อมูลที่มีภาพขนาดย่อ]]"; end return image .. cat; elseif mw.ustring.sub(image,1,2) == "{{" and mw.ustring.sub(image,1,3) ~= "{{{" then return image; elseif mw.ustring.sub(image,1,1) == "<" then return image; 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 return image; else local result = ""; local page = frame.args["page"]; local size = frame.args["size"]; local maxsize = frame.args["maxsize"]; local sizedefault = frame.args["sizedefault"]; local alt = frame.args["alt"]; local link = frame.args["link"]; local title = frame.args["title"]; local border = frame.args["border"]; local upright = frame.args["upright"] or ""; local thumbtime = frame.args["thumbtime"] or ""; local center= frame.args["center"]; -- remove prefix if exists local allNames = mw.site.namespaces[6].aliases allNames[#allNames + 1] = mw.site.namespaces[6].name allNames[#allNames + 1] = mw.site.namespaces[6].canonicalName for i, name in ipairs(allNames) do if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) == mw.ustring.lower(name .. ":") then image = mw.ustring.sub(image, mw.ustring.len(name) + 2); break end end if maxsize ~= "" and maxsize ~= nil then -- if no sizedefault then set to maxsize if sizedefault == "" or sizedefault == nil then sizedefault = maxsize end -- check to see if size bigger than maxsize if size ~= "" and size ~= nil then local sizenumber = tonumber(mw.ustring.match(size,"%d*")) or 0; local maxsizenumber = tonumber(mw.ustring.match(maxsize,"%d*")) or 0; if sizenumber>maxsizenumber and maxsizenumber>0 then size = maxsize; end end end -- add px to size if just a number if (tonumber(size) or 0) > 0 then size = size .. "px"; end -- add px to sizedefault if just a number if (tonumber(sizedefault) or 0) > 0 then sizedefault = sizedefault .. "px"; end result = "[[File:" .. image; if page ~= "" and page ~= nil then result = result .. "|page=" .. page; end if size ~= "" and size ~= nil then result = result .. "|" .. size; elseif sizedefault ~= "" and sizedefault ~= nil then result = result .. "|" .. sizedefault; else result = result .. "|frameless"; end if center == "yes" then result = result .. "|center" end if alt ~= "" and alt ~= nil then result = result .. "|alt=" .. alt; end if link ~= "" and link ~= nil then result = result .. "|link=" .. link; end if border == "yes" then result = result .. "|border"; end if upright == "yes" then result = result .. "|upright"; elseif upright ~= "" then result = result .. "|upright=" .. upright; end if thumbtime ~= "" then 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 if title ~= "" and title ~= nil then result = result .. "|" .. title; elseif alt ~= "" and alt ~= nil then result = result .. "|" .. alt; end result = result .. "]]"; return result; end end return i;
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
niepnmxdulthithukpxngknthawrenuxngcakmikhwamesiyngsung krunaxphipraykarepliynaeplngid thanghnakhuy khunxacsngkhakhxaekikh ipyngphuduaelrabbephuxihaekikhidhakepnkaraekikhthiimmikarkhdkhanhruxmikhwamehnphxngsnbsnun khunyngsamarthkhxihelikpxngknhnaidkhumuxkarichnganmxdul srang khunxaccatxngkarsrangkhumuxkarichngankhxngmxdulni phuekhiynsamarththakarthdlxngidthikrabathray srang khdlxk aelachudthdsxb srang khxngmxdulni oprdephimhmwdhmuipthihnayxy hnayxykhxngmxdulni Inputs 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 maxsize maximum size for image sizedefault default size to display the image if size param is blank alt alt text for image title title text for image border set to yes if border center set to yes if the image has to be centered upright upright image param suppressplaceholder if yes then checks to see if image is a placeholder and suppresses it link page to visit when clicking on image Outputs Formatted image More details available at the Module InfoboxImage doc page local i local placeholder image Blue Replace this image female svg Blue Replace this image male svg Female no free image yet png Flag of None square svg Flag of None svg Flag of svg Green Replace this image female svg Green Replace this image male svg Image is needed female svg Image is needed male svg Location map of None svg Male no free image yet png Missing flag png No flag svg No free portrait svg No portrait female svg No portrait male svg Red Replace this image female svg Red Replace this image male svg Replace this image female blue svg Replace this image female svg Replace this image male blue svg Replace this image male svg Silver Replace this image female svg Silver Replace this image male svg Replace this image svg Cricket no pic png CarersLogo gif Diagram Needed svg Example jpg Image placeholder png No male portrait svg Nocover upload png NoDVDcover copy png Noribbon svg No portrait BFD test svg Placeholder barnstar ribbon png Project Trains no image png Image request png Sin bandera svg Sin escudo svg Replace this image temple png Replace this image butterfly png Replace this image svg Replace this image1 svg Resolution angle png Image No portrait text BFD test svg Insert image here svg No image available png NO IMAGE YET square png NO IMAGE YET png No Photo Available svg No Screenshot svg No image available jpg Null png PictureNeeded gif Place holder jpg Unbenannt JPG UploadACopyrightFreeImage svg UploadAnImage gif UploadAnImage svg UploadAnImageShort svg CarersLogo gif Diagram Needed svg No male portrait svg NoDVDcover copy png Placeholder barnstar ribbon png Project Trains no image png Image request png Noimage gif function i IsPlaceholder image change underscores to spaces image mw ustring gsub image assert image nil mw ustring gsub image must not return nil if image starts with then remove that and anything after if mw ustring sub image 1 2 then image mw ustring sub image 3 image mw ustring gsub image 1 assert image nil mw ustring gsub image 1 must not return nil end Trim spaces image mw ustring gsub image 1 assert image nil mw ustring gsub image 1 must not return nil remove prefix if exists local allNames mw site namespaces 6 aliases allNames allNames 1 mw site namespaces 6 name allNames allNames 1 mw site namespaces 6 canonicalName for i name in ipairs allNames do if mw ustring lower mw ustring sub image 1 mw ustring len name 1 mw ustring lower name then image mw ustring sub image mw ustring len name 2 break end end Trim spaces image mw ustring gsub image 1 capitalise first letter image mw ustring upper mw ustring sub image 1 1 mw ustring sub image 2 for i j in pairs placeholder image do if image j then return true end end return false end function i InfoboxImage frame local image frame args image if image or image nil then return end if image amp nbsp then return image end if frame args suppressplaceholder no then if i IsPlaceholder image true then return end end if mw ustring lower mw ustring sub image 1 5 http then return 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 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 cat hmwdhmu hnathiichklxngkhxmulthimiphaphkhnadyx end return image cat elseif mw ustring sub image 1 2 and mw ustring sub image 1 3 then return image elseif mw ustring sub image 1 1 lt then return image 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 return image else local result local page frame args page local size frame args size local maxsize frame args maxsize local sizedefault frame args sizedefault local alt frame args alt local link frame args link local title frame args title local border frame args border local upright frame args upright or local thumbtime frame args thumbtime or local center frame args center remove prefix if exists local allNames mw site namespaces 6 aliases allNames allNames 1 mw site namespaces 6 name allNames allNames 1 mw site namespaces 6 canonicalName for i name in ipairs allNames do if mw ustring lower mw ustring sub image 1 mw ustring len name 1 mw ustring lower name then image mw ustring sub image mw ustring len name 2 break end end if maxsize and maxsize nil then if no sizedefault then set to maxsize if sizedefault or sizedefault nil then sizedefault maxsize end check to see if size bigger than maxsize if size and size nil then local sizenumber tonumber mw ustring match size d or 0 local maxsizenumber tonumber mw ustring match maxsize d or 0 if sizenumber gt maxsizenumber and maxsizenumber gt 0 then size maxsize end end end add px to size if just a number if tonumber size or 0 gt 0 then size size px end add px to sizedefault if just a number if tonumber sizedefault or 0 gt 0 then sizedefault sizedefault px end result File image if page and page nil then result result page page end if size and size nil then result result size elseif sizedefault and sizedefault nil then result result sizedefault else result result frameless end if center yes then result result center end if alt and alt nil then result result alt alt end if link and link nil then result result link link end if border yes then result result border end if upright yes then result result upright elseif upright then result result upright upright end if thumbtime then 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 if title and title nil then result result title elseif alt and alt nil then result result alt end result result return result end end return i