Module:Gallery
- العربية
- Авар
- Azərbaycanca
- تۆرکجه
- Basa Bali
- Bikol Central
- Български
- भोजपुरी
- বাংলা
- Bosanski
- Català
- 閩東語 / Mìng-dĕ̤ng-ngṳ̄
- کوردی
- English
- Esperanto
- فارسی
- Na Vosa Vakaviti
- Føroyskt
- Français
- Gaeilge
- Galego
- ગુજરાતી
- Gaelg
- हिन्दी
- Magyar
- Bahasa Indonesia
- Ilokano
- Íslenska
- 日本語
- Qaraqalpaqsha
- ಕನ್ನಡ
- 한국어
- کٲشُر
- Kurdî
- Kernowek
- Ladin
- Latviešu
- मैथिली
- Македонски
- മലയാളം
- Bahasa Melayu
- မြန်မာဘာသာ
- नेपाली
- ਪੰਜਾਬੀ
- پښتو
- Português
- Română
- संस्कृतम्
- Scots
- سنڌي
- တႆး
- සිංහල
- Simple English
- Slovenščina
- Shqip
- Српски / srpski
- Svenska
- தமிழ்
- ไทย
- Tagalog
- Türkçe
- Українська
- اردو
- Oʻzbekcha / ўзбекча
- Tiếng Việt
- Winaray
- 吴语
- 閩南語 / Bân-lâm-gí
- 粵語
- 中文
Appearance
From Meta, a Wikimedia project coordination wiki
The above documentation is transcluded from Module:Gallery/doc. (edit | history)
Editors can experiment in this module’s sandbox (create | mirror) and testcases (create) pages.
Please add categories to the /doc subpage. Subpages of this module.
Editors can experiment in this module’s sandbox (create | mirror) and testcases (create) pages.
Please add categories to the /doc subpage. Subpages of this module.
-- This module implements {{gallery}} localp={} localtemplatestyles='Template:Gallery/styles.css' localyesno=require('Module:Yesno') localfunctiontrim(s) returnmw.ustring.gsub(mw.ustring.gsub(s,'%s',' '),'^%s*(.-)%s*$','%1') end localtracking,preview localfunctioncheckarg(k,v) ifkandtype(k)=='string'then ifk=='align'ork=='state'ork=='style'ork=='caption'ork=='title'or k=='width'ork=='height'ork=='lines'ork=='whitebg'ork=='class'or k=='mode'ork=='footer'ork=='perrow'ork=='noborder'or k:match('^alt%d+$')ork:match('^%d+$')then -- valid elseifk=='captionstyle'then ifnotv:match('^text%-align%s*:%s*center[;%s]*$')then table.insert(tracking,'[[Category:Pages using gallery with the captionstyle parameter]]') end else -- invalid localvlen=mw.ustring.len(k) k=mw.ustring.sub(k,1,(vlen<25)andvlenor25) k=mw.ustring.gsub(k,'[^%w\-_ ]','?') table.insert(tracking,'[[Category:Pages using gallery with unknown parameters|'..k..']]') table.insert(preview,'"'..k..'"') end end end functionp.gallery(frame) -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. localorigArgs=(type(frame.getParent)=='function')andframe:getParent().argsorframe -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{gallery}}, change any empty arguments to nil, so Lua will consider -- them false too. localargs={} tracking,preview={},{} fork,vinpairs(origArgs)do ifv~=''then args[k]=v checkarg(k,v) end end if(args.modeor'')=='packed'and(args.alignor'')==''then args.align='center' end localtbl=mw.html.create('div') tbl:addClass('mod-gallery') ifargs.statethen tbl :addClass('mod-gallery-collapsible') :addClass('collapsible') :addClass(args.state) end ifargs.stylethen tbl:cssText(args.style) else tbl:addClass('mod-gallery-default') end ifargs.alignthen tbl:addClass('mod-gallery-'..args.align:lower()) end ifargs.classthen tbl:addClass(args.class) end ifargs.titleorargs.captionthen tbl:tag('div') :addClass('title') :tag('div') :wikitext('<dl><dd>'..(args.titleorargs.caption)..'</dd></dl>') end localgargs={} gargs['class']='nochecker'..(args.noborderand''or' bordered-images') gargs['widths']=tonumber(args.width)or180 gargs['heights']=tonumber(args.height)or180 gargs['style']=args.captionstyle gargs['perrow']=args.perrow gargs['mode']=args.mode ifyesno(args.whitebgor'yes')then gargs['class']=gargs['class']..' whitebg' end localgallery={} localimageCount=math.ceil(#args/2) fori=1,imageCountdo localimg=trim(args[i*2-1]or'') localcaption=trim(args[i*2]or'') localalt=trim(args['alt'..i]or'') ifimg~=''then table.insert(gallery,img..(alt~=''and('|alt='..alt)or'')..'|'..caption) end end tbl:tag('div') :addClass('main') :tag('div') :wikitext( frame:extensionTag{name='gallery',content='\n'..table.concat(gallery,'\n'),args=gargs} ) ifargs.footerthen tbl:tag('div') :addClass('footer') :tag('div') :wikitext('<dl><dd>'..args.footer..'</dd></dl>') end localtrackstr=(#tracking>0)andtable.concat(tracking,'')or'' if#preview>0andframe:preprocess("{{REVISIONID}}")==""then trackstr=tostring(mw.html.create('div') :addClass('hatnote') :css('color','red') :tag('strong'):wikitext('Warning:'):done() :wikitext('Unknown parameters: '..table.concat(preview,'; '))) end returnframe:extensionTag{name='templatestyles',args={src=templatestyles}}..tostring(tbl)..trackstr end returnp