Módulo:Icon

De Wikimedia Small Projects
Revisión del 17:10 17 feb 2022 de Hasley (discusión | contribs.) (Hasley trasladó la página Plantilla:Icon a Módulo:Icon)

-- This module implements Template:Icon.

require("Module:No globals") local yesNo = require("Module:Yesno") local getArgs = require("Module:Arguments").getArgs local getPlain = nil

local p = {}

-- Determine whether we're being called from a sandbox local sandbox = mw.getCurrentFrame():getTitle():find('sandbox', 1, true) and '/sandbox' or

-- Implements Template:Icon -- Returns the icon image corresponding to a string (like 'B') function p._main(args, data) local data_module = 'Module:Icon/data'..sandbox data = data or mw.loadData(data_module) local code = args.class or args[1] local iconData if code then code = code:match('^%s*(.-)%s*$'):lower() -- trim whitespace and put in lower case iconData = data[code] end if not iconData then iconData = data._DEFAULT end return string.format( '%s', iconData.image, iconData.tooltip and '|' .. iconData.tooltip or , iconData.link == false and '|link=' or , args.size or '16x16px', iconData.alt or ) end

-- Implements Template:Icon link, a superset of Template:Icon -- Returns an icon, plus a suitably formatted wikilink function p._link(args, data) args.size = args.size or args.iconsize local icon = p._main(args, data) -- If no link given in args[2], default back to Template:Icon if not args[2] then return icon end -- Strip wiki markup out of link getPlain = getPlain or require("Module:Text").Text().getPlain local link = getPlain(args[2]) local display = args[3] or args[2] -- italicize display string, if requested if yesNo(args.i) or yesNo(args.italic) or yesNo(args.italics) then display = ''..display..'' end -- if display is link, just use standard wlink if link == display then return icon..' '..link..'' end return icon..' '..display..'' end

function p.main(frame) local args = getArgs(frame,{parentFirst=true}) return p._main(args) end

function p.link(frame) local args = getArgs(frame,{parentFirst=true}) return p._link(args) end

return p