Jump to content
Wikipedia The Free Encyclopedia

Module:Icon

From Wikipedia, the free encyclopedia
Module documentation[view] [edit] [history] [purge]
This module is rated as ready for general use. It has reached a mature state, is considered relatively stable and bug-free, and may be used wherever appropriate. It can be mentioned on help pages and other Wikipedia resources as an option for new users. To minimise server load and avoid disruptive output, improvements should be developed through sandbox testing rather than repeated trial-and-error editing.
Page template-protected This module is currently protected from editing.
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.
Warning This Lua module is used on approximately 655,000 pages, or roughly 1% of all pages .
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.

The above documentation is transcluded from Module:Icon/doc. (edit | history)
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

AltStyle によって変換されたページ (->オリジナル) /