Anda dapat membuat halaman dokumentasi untuk buat pada modul Scribunto ini.
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.
require('strict') localp={} -- Lazy-load logo file names and other metadata localdata=mw.loadData('Module:Sister project logo/data') -- Convert table of arguments into wiki image markup localfunctionimageMarkup(args) localx={} -- positional arguments first for_,arginipairs(args)do table.insert(x,arg) end -- named arguments converted to foo=bar fork,vinpairs(args)do ifnottonumber(k)then table.insert(x,k..'='..v) end end return'[['..table.concat(x,'|')..']]' end functionp._main(args) locallocalArgs={} -- map possibly verbose project argument into canonical project string localproject=args.projectandargs.project:lower() project=data.projectMap[project]orproject -- image=none means bail (for [[Template:Sister project]]) ifargs.image=='none'then return'' -- if image specified, return it instead of stored logo (for [[Template:Sister project]]) elseifargs.imagethen returnargs.image else locallogoImage=data.logo[project] -- if project is unknown, use Wikimedia logo (for [[Template:Sister project]]) ifnotlogoImagethen project='wm' logoImage=data.logo['wm'] end table.insert(localArgs,'File:'..logoImage) end -- size=large means use sizes from [[Template:Wikipedia's sister projects]] -- size defaults to 40x40px (for [[Template:Sister project]]) table.insert(localArgs,args.size=='large'and(data.largeSize[project]or'35px')orargs.sizeor'40x40px') -- if logo is PD, blank link and alt (to suppress from screen readers) ifdata.PDicon[project]then localArgs.link='' localArgs.alt='' else localArgs.alt=data.logoAlt[project] end -- For dark mode, flip dark-on-light icons to be light-on-dark -- Also: use editor-specified classes (for [[Template:Sister-inline]]) localArgs.class="noviewer"..(data.darkOnLight[project]and" skin-invert-image"or"") ..(args.classand" "..args.classor"") returnimageMarkup(localArgs) end functionp.main(frame) localargs=require('Module:Arguments').getArgs(frame) returnp._main(args)or'' end returnp