Module:Icon: Difference between revisions
From Body Communication
SadanYagci (talk | contribs) m (1 revision imported) |
SadanYagci (talk | contribs) m (1 revision imported) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
-- This module implements [[Template:Icon]]. | -- This module implements [[Template:Icon]]. | ||
require("Module:No globals") | |||
local DATA_MODULE = 'Module:Icon/data' | |||
local p = {} | local p = {} | ||
function p._main(args) | function p._main(args, data) | ||
data = data or mw.loadData(DATA_MODULE) | |||
local code = args.class or args[1] | local code = args.class or args[1] | ||
local iconData | local iconData | ||
Line 16: | Line 18: | ||
end | end | ||
return string.format( | return string.format( | ||
'[[File:%s%s|%s]]', | '[[File:%s%s%s|%s|class=noviewer]]', | ||
iconData.image, | iconData.image, | ||
iconData.tooltip and '|' .. iconData.tooltip or '', | iconData.tooltip and '|' .. iconData.tooltip or '', | ||
iconData.link == false and '|link=' or '', | |||
args.size or '16x16px' | args.size or '16x16px' | ||
) | ) |
Latest revision as of 15:52, 28 September 2021
Documentation for this module may be created at Module:Icon/doc
-- This module implements [[Template:Icon]]. require("Module:No globals") local DATA_MODULE = 'Module:Icon/data' local p = {} function p._main(args, data) 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( '[[File:%s%s%s|%s|class=noviewer]]', iconData.image, iconData.tooltip and '|' .. iconData.tooltip or '', iconData.link == false and '|link=' or '', args.size or '16x16px' ) end function p.main(frame) local args = {} for k, v in pairs(frame:getParent().args) do args[k] = v end return p._main(args) end return p