| Modul Lua ini digunakan pada sekitar 480.000 halaman, atau sekira 11% dari keseluruhan halaman. Untuk mencegah suntingan mengganggu skala besar dan beban peladen, setiap perubahan harus diuji di subhalaman /bak pasir atau /kasus uji Modul:InfoboxImage, atau bak pasir modul Anda. Perubahan yang telah diuji kemudian dapat ditambahkan ke halaman ini dalam satu suntingan. Pertimbangkan untuk mendiskusikan perubahan di halaman pembicaraan sebelum mengimplementasikannya. |
SekilasSekilas
Modul ini digunakan dalam kotak info (infoboxes) untuk memproses parameter gambar dan merapikan format hasilnya.
ParameterParameter
| Parameter | Keterangan |
|---|---|
| image | Wajib. Parameter utama yang berisi info gambar. |
| size | Ukuran tampilan gambar. |
| maxsize | Ukuran maksimal tampilan gambar. Catatan: Jika ukuran atau parameter bawaan tidak ditentukan maka gambar akan ditampilkan dengan ukuran maksimal. |
| sizedefault | Ukuran yang digunakan untuk gambar yang parameter ukurannya tidak ditentukan. Lihat gambar tanpa bingkai. |
| alt | Alt teks untuk gambar. |
| title | Judul teks untuk gambar (mousehover text). Jika kosong maka yang digunakan adalah alt teks. |
| border | Jika yes, border akan ditambahkan. |
| upright | Jika upright=yes, "upright" akan ditambahkan dengan tampilan gambar 75% dari ukuran default (ukuran default adalah 220px jika Istimewa:Preferensi) tidak dirubah. Jika sebuah value, ditambahkan sebagai "upright=value" ke gambar, di mana value kurang dari 1, maka skala gambar akan mengecil (0.9 = 90%) dan jika value lebih besar dari 1, maka skala gambar akan membesar (1.15 = 115%). |
| center | Jika yes, gambar akan menengah. |
| thumbtime | parameter thumbtime, digunakan untuk klip video. |
| suppressplaceholder | Jika no, maka tidak akan merubah gambar placeholder tertentu. Lihat § Gambar placeholder yang bisa digantikan. |
| link | Halaman tujuan saat mengklik gambar. |
Catatan: Jika Anda menentukan gambar secara maxsize atau parameter sizedefault, maka Anda harus menyertakan "px" setelah angka ukuran.
Parameter yang tampil dalam sintaks gambarParameter yang tampil dalam sintaks gambar
{{#invoke:InfoboxImage | InfoboxImage | image={{{image}}}
| size={{{size}}} | upright={{{upright}}} | alt={{{alt}}}
| title={{{title}}} | thumbtime={{{thumbtime}}} | link={{{link}}}
| border=yes | center=yes
}}
[[Berkas:{{{image}}}|{{{size}}}|center|alt={{{alt}}}|link={{{link}}}|border|upright={{{upright}}}|thumbtime={{{thumbtime}}}|{{{title}}}]]
Untuk informasi lebih lanjut, lihat en:Wikipedia:Extended image syntax.
Sampel pemakaianSampel pemakaian
|image = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|}}}|upright={{{image_upright|1}}}|alt={{{alt|}}}}}
ContohContoh
Penadah gambar yang bisa digantikanPenadah gambar yang bisa digantikan
Dokumentasi di atas ditransklusikan dari Modul:InfoboxImage/doc. (sunting | riwayat)
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
-- 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 -- class - HTML classes to add to the image -- Outputs: -- Formatted image. -- More details available at the "Module:InfoboxImage/doc" page locali={} -- List of placeholder images and tracking categories stored in [[Module:InfoboxImage/data]] -- Other constants: -- the system-wide default thumbnail size (in px) localdefaultThumbnailSize=250 -- If page is not a user page, return tracking category. Else return empty. localfunctiontrackingCat(cat) localns=mw.title.getCurrentTitle().nsText:lower() localcategories=mw.loadData('Modul:InfoboxImage/data').categories return(ns~='user'andns~='user talk'andcategories[cat])or"" end -- Determine whether image is a placeholder functioni.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 | ifmw.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") harus tidak mengembalikkan nil') end -- Trim spaces image=mw.ustring.gsub(image,'^[ ]*(.-)[ ]*$','%1'); assert(image~=nil,"mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1') harus tidak mengembalikkan nil") -- remove prefix if exists localallNames=mw.site.namespaces[6].aliases allNames[#allNames+1]=mw.site.namespaces[6].name allNames[#allNames+1]=mw.site.namespaces[6].canonicalName fori,nameinipairs(allNames)do ifmw.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); localplaceholder_image=mw.loadData('Modul:InfoboxImage/data').placeholder_image returnplaceholder_image[image] end localfunctionisempty(x) return(notx)orx=="" end -- Main entry point functioni.InfoboxImage(frame) localimage=frame.args["image"]; ifisempty(image)then return""; end ifimage==" "then returnimage; end localsuppress=frame.args["suppressplaceholder"] ifsuppress~="no"andsuppress~="tidak"then ifi.IsPlaceholder(image)==truethen return""; end end ifstring.find(image,"^%[*https?:")then -- Error category. returntrackingCat("url_image_links") end ifmw.ustring.sub(image,1,2)=="[["then -- search for thumbnail images and add to tracking cat if found localcat=""; ifmw.title.getCurrentTitle().namespace==0and(mw.ustring.find(image,"|%s*thumb%s*[|%]]")ormw.ustring.find(image,"|%s*thumbnail%s*[|%]]"))then cat=trackingCat("thumbnail_images") end returnimage..cat; elseifmw.ustring.sub(image,1,2)=="{{"andmw.ustring.sub(image,1,3)~="{{{"then returnimage; elseifmw.ustring.sub(image,1,1)=="<"then returnimage; elseifmw.ustring.sub(image,1,8)==mw.ustring.char(127).."'\"`UNIQ"then -- Found strip marker at begining, so pass don't process at all returnimage; else localresult=""; localpage=frame.args["page"]; localupright=frame.args["upright"]or"" localsize=frame.args["size"]; localmaxsize=frame.args["maxsize"]; localsizedefault=frame.args["sizedefault"]; localalt=frame.args["alt"]; locallink=frame.args["link"]; localtitle=frame.args["title"]; localborder=frame.args["border"]; localthumbtime=frame.args["thumbtime"]or""; localcenter=frame.args["center"]; localclass=frame.args["class"]; -- remove prefix if exists localallNames=mw.site.namespaces[6].aliases allNames[#allNames+1]=mw.site.namespaces[6].name allNames[#allNames+1]=mw.site.namespaces[6].canonicalName fori,nameinipairs(allNames)do ifmw.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 ifnotisempty(maxsize)then -- if no sizedefault nor upright, then set to maxsize ifisempty(sizedefault)andisempty(upright)then sizedefault=maxsize end -- check to see if size bigger than maxsize localmaxsizenumber=tonumber(mw.ustring.match(maxsize,"%d*"))or0; ifnotisempty(size)then localsizenumber=tonumber(mw.ustring.match(size,"%d*"))or0; ifsizenumber>maxsizenumberandmaxsizenumber>0then size=maxsize; end end -- check to see if upright bigger than maxsize (at default preferred size) ifnotisempty(upright)then localuprightnumber=tonumber(upright)or(upright=="yes"and0.75)or0 ifuprightnumber*defaultThumbnailSize>maxsizenumberandmaxsizenumber>0then upright=tostring(maxsizenumber/defaultThumbnailSize) end end end -- add px to size if just a number if(tonumber(size)or0)>0then size=size.."px"; end -- add px to sizedefault if just a number if(tonumber(sizedefault)or0)>0then sizedefault=sizedefault.."px"; end result="[[Berkas:"..image; ifnotisempty(page)then result=result.."|page="..page; end ifnotisempty(size)then result=result.."|"..size; elseifnotisempty(sizedefault)andisempty(upright)then result=result.."|"..sizedefault; else result=result.."|frameless"; end ifcenter=="yes"orcenter=="ya"then result=result.."|center" end ifnotisempty(alt)then result=result.."|alt="..alt; end ifnotisempty(link)then result=result.."|link="..link; end ifborder=="yes"then result=result.."|border"; end ifupright=="yes"then result=result.."|upright"; elseifupright~=""then result=result.."|upright="..upright; end ifthumbtime~=""then result=result.."|thumbtime="..thumbtime; end ifnotisempty(class)then result=result.."|class="..class; end -- if alt value is a keyword then do not use as a description ifalt=="thumbnail"oralt=="thumb"oralt=="frameless"oralt=="left"oralt=="center"oralt=="right"oralt=="upright"oralt=="border"oralt=="tengah"oralt=="kanan"oralt=="kiri"oralt=="pembatas"ormw.ustring.match(altor"",'^[0-9]*px$',1)~=nilthen alt=nil; end ifnotisempty(title)then -- does title param contain any templatestyles? If yes then set to blank. ifmw.ustring.match(frame:preprocess(title),'UNIQ%-%-templatestyles',1)~=nilthen title=nil; end end ifnotisempty(title)then result=result.."|"..title; end result=result.."]]"; returnresult; end end returni;
