| Modul Lua ini digunakan pada sekitar 4.600 halaman dan perubahannya kemungkinan memicu perubahan massal pada semua halaman yang menggunakannya. Uji cobalah di subhalaman /bak pasir atau /kasus uji Modul:File link, atau bak pasir modul Anda. Pertimbangkan untuk mendiskusikan perubahan di halaman pembicaraan sebelum mengimplementasikannya. |
| Modul ini dilindungi. Modul ini sangat mencolok yang digunakan oleh banyak halaman, atau sangat sering disubstitusikan. Karena vandalisme atau kesalahan akan mempengaruhi banyak halaman, dan suntingan kecil dapat memberi beban besar pada server, modul ini dilindungi dari penyuntingan. |
| Modul ini menggunakan Lua: |
Dokumentasi di atas ditransklusikan dari Modul:File link/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.
-- This module provides a library for formatting file wikilinks. localyesno=require('Modul:Yesno') localcheckType=require('libraryUtil').checkType localp={} functionp._main(args) checkType('_main',1,args,'table') -- This is basically libraryUtil.checkTypeForNamedArg, but we are rolling our -- own function to get the right error level. localfunctioncheckArg(key,val,level) iftype(val)~='string'then error(string.format( "galat pada '%s' parameter '_main' (expected string, hasil %s)", key,type(val) ),level) end end localret={} -- Adds a positional parameter to the buffer. localfunctionaddPositional(key) localval=args[key] ifnotvalthen returnnil end checkArg(key,val,4) ret[#ret+1]=val end -- Adds a named parameter to the buffer. We assume that the parameter name -- is the same as the argument key. localfunctionaddNamed(key) localval=args[key] ifnotvalthen returnnil end checkArg(key,val,4) ret[#ret+1]=key..'='..val end -- Filename checkArg('file',args.file,3) ret[#ret+1]='File:'..args.file -- Format ifargs.formatthen checkArg('format',args.format) ifargs.formatfilethen checkArg('formatfile',args.formatfile) ret[#ret+1]=args.format..'='..args.formatfile else ret[#ret+1]=args.format end end -- Border ifyesno(args.border)then ret[#ret+1]='border' end addPositional('location') addPositional('alignment') addPositional('size') addNamed('upright') addNamed('link') addNamed('alt') addNamed('page') addNamed('class') addNamed('lang') addNamed('start') addNamed('end') addNamed('thumbtime') addPositional('caption') returnstring.format('[[%s]]',table.concat(ret,'|')) end functionp.main(frame) localorigArgs=require('Modul:Arguments').getArgs(frame,{ wrappers='Templat:File link' }) ifnotorigArgs.filethen error("parameter 'file' hilang dari [[Templat:File link]]",0) end -- Copy the arguments that were passed to a new table to avoid looking up -- every possible parameter in the frame object. localargs={} fork,vinpairs(origArgs)do -- Make _BLANK a special argument to add a blank parameter. For use in -- conditional templates etc. it is useful for blank arguments to be -- ignored, but we still need a way to specify them so that we can do -- things like [[File:Example.png|link=]]. ifv=='_BLANK'then v='' end args[k]=v end returnp._main(args) end returnp