-- This module implements [[Template:Icon]].require("Module:No globals")localyesNo=require("Module:Yesno")localgetArgs=require("Module:Arguments").getArgslocalgetPlain=nillocalp={}-- Determine whether we're being called from a sandboxlocalsandbox=mw.getCurrentFrame():getTitle():find('تمرین',1,true)and'/تمرین'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)localcodeifargs['کلاس']thencode=args['کلاس']elsecode=args.classorargs[1]endlocaliconDataifcodethencode=mw.ustring.match(code,'^%s*(.-)%s*$'):lower()-- trim whitespace and put in lower caseiconData=data[code]endifnoticonDatatheniconData=data._DEFAULTendreturnmw.ustring.format('[[پرونده:%s%s%s|%s|class=noviewer|alt=%s]]',iconData.image,iconData.tooltipand'|'..iconData.tooltipor'',iconData.link==falseand'|link='or'',(args.sizeorargs['اندازه'])or'16x16px',iconData.altor'')end-- Implements [[Template:Icon link]], a superset of [[Template:Icon]]-- Returns an icon, plus a suitably formatted wikilinkfunctionp._link(args,data)ifargs['اندازه']thenargs.size=args['اندازه']elseargs.size=args.sizeorargs.iconsizeendlocalicon=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)oryesNo(args['کج'])oryesNo(args['ایتالیک'])thendisplay='<i>'..display..'</i>'end-- if display is link, just use standard wlinkiflink==displaythenreturnicon..' [['..link..']]'endreturnicon..' [['..link..'|'..display..']]'endfunctionp.main(frame)localargs=getArgs(frame,{parentFirst=true})returnp._main(args)endfunctionp.link(frame)localargs=getArgs(frame,{parentFirst=true})returnp._link(args)endreturnp