Jump to content

Module:Icon

Permanently protected module
From Wikipedia, the free encyclopedia

-- This module implements [[Template:Icon]].require("strict")localyesNo=require("Module:Yesno")localgetArgs=require("Module:Arguments").getArgslocalgetPlain=nillocalp={}-- Determine whether we're being called from a sandboxlocalsandbox=mw.getCurrentFrame():getTitle():find('sandbox',1,true)and'/sandbox'or''-- Implements [[Template:Icon]]-- Returns the icon image corresponding to a string (like 'B')functionp._main(args,data)localdata_module='Module:Icon/data'..sandboxdata=dataormw.loadData(data_module)localcode=args.classorargs[1]localiconDataifcodethencode=code:match('^%s*(.-)%s*$'):lower()-- trim whitespace and put in lower caseiconData=data[code]endifnoticonDatatheniconData=data._DEFAULTendreturnstring.format('[[File:%s%s%s|%s|class=noviewer|alt=%s]]',iconData.image,iconData.tooltipand'|'..iconData.tooltipor'',iconData.link==falseand'|link='or'',args.sizeor'16x16px',iconData.altor'')end-- Implements [[Template:Icon link]], a superset of [[Template:Icon]]-- Returns an icon, plus a suitably formatted wikilinkfunctionp._link(args,data)args.size=args.sizeorargs.iconsizelocalicon=p._main(args,data)-- If no link given in args[2], default back to [[Template:Icon]]ifnotargs[2]thenreturniconend-- Strip wiki markup out of linkgetPlain=getPlainorrequire("Module:Text").Text().getPlainlocallink=getPlain(args[2])localdisplay=args[3]orargs[2]-- italicize display string, if requestedifyesNo(args.i)oryesNo(args.italic)oryesNo(args.italics)thendisplay='<i>'..display..'</i>'end-- if display is link, just use standard wlinkiflink==displaythenreturn'<span class="nowrap">'..icon..' </span>[['..link..']]'endreturn'<span class="nowrap">'..icon..' </span>[['..link..'|'..display..']]'endfunctionp.main(frame)localargs=getArgs(frame,{parentFirst=true})returnp._main(args)endfunctionp.link(frame)localargs=getArgs(frame,{parentFirst=true})returnp._link(args)endp['']=function(frame)returnp._main(frame.args)endreturnp
close