Module:Icon
- Afrikaans
- Аԥсшәа
- العربية
- অসমীয়া
- Asturianu
- Azərbaycanca
- تۆرکجه
- Basa Bali
- বাংলা
- 閩南語 / Bân-lâm-gí
- Беларуская
- भोजपुरी
- Bikol Central
- Bosanski
- Буряад
- Català
- Cebuano
- Corsu
- Cymraeg
- فارسی
- Føroyskt
- Gaeilge
- Gaelg
- ગુજરાતી
- गोंयची कोंकणी / Gõychi Konknni
- 한국어
- हिन्दी
- Bahasa Indonesia
- Íslenska
- ಕನ್ನಡ
- Kernowek
- Kurdî
- ລາວ
- Lietuvių
- Magyar
- Македонски
- മലയാളം
- مصرى
- ဘာသာမန်
- Bahasa Melayu
- Монгол
- မြန်မာဘာသာ
- नेपाली
- 日本語
- ਪੰਜਾਬੀ
- Polski
- Português
- Qaraqalpaqsha
- Română
- Scots
- සිංහල
- Simple English
- سنڌي
- Slovenščina
- کوردی
- Српски / srpski
- Svenska
- தமிழ்
- ไทย
- ತುಳು
- Українська
- اردو
- Tiếng Việt
- 吴语
- 中文
- Kadazandusun
- ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ
See the protection policy and protection log for more details. Please discuss any changes on the talk page; you may submit an edit request to ask an administrator to make an edit if it is uncontroversial or supported by consensus. You may also request that this page be unprotected.
To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them.
This module displays an icon depending on the code it is given. It implements Template:Icon.
Usage
From wikitext
From wikitext this module should be used via Template:Icon in most cases. Please see the template page for documentation. In cases where lots of icons cause the page to exceed the post-expand include size limit, {{#invoke:Icon||icon name}}
may be used instead of {{Icon|icon name}}
.
From Lua
To use this module from another Lua module, first load it:
localmIcon=require('Module:Icon')
Then you can make icons with the _main function.
mIcon._main(args)
The args variable is a table of arguments. This corresponds to the parameters accepted by Template:Icon - please see the template page for parameter documentation.
Data
The icon data is stored at Module:Icon/data. See the instructions there for how to add and remove icons.
Editors can experiment in this module's sandbox (edit | diff) and testcases (edit | run) pages.
Subpages of this module.
-- This module implements [[Template:Icon]]. require("strict") localyesNo=require("Module:Yesno") localgetArgs=require("Module:Arguments").getArgs localgetPlain=nil localp={} -- Determine whether we're being called from a sandbox localsandbox=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'..sandbox data=dataormw.loadData(data_module) localcode=args.classorargs[1] localiconData ifcodethen code=code:match('^%s*(.-)%s*$'):lower()-- trim whitespace and put in lower case iconData=data[code] end ifnoticonDatathen iconData=data._DEFAULT end returnstring.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 wikilink functionp._link(args,data) args.size=args.sizeorargs.iconsize localicon=p._main(args,data) -- If no link given in args[2], default back to [[Template:Icon]] ifnotargs[2]then returnicon end -- Strip wiki markup out of link getPlain=getPlainorrequire("Module:Text").Text().getPlain locallink=getPlain(args[2]) localdisplay=args[3]orargs[2] -- italicize display string, if requested ifyesNo(args.i)oryesNo(args.italic)oryesNo(args.italics)then display='<i>'..display..'</i>' end -- if display is link, just use standard wlink iflink==displaythen return'<span class="nowrap">'..icon..' </span>[['..link..']]' end return'<span class="nowrap">'..icon..' </span>[['..link..'|'..display..']]' end functionp.main(frame) localargs=getArgs(frame,{parentFirst=true}) returnp._main(args) end functionp.link(frame) localargs=getArgs(frame,{parentFirst=true}) returnp._link(args) end p['']=function(frame)returnp._main(frame.args)end returnp