imported>Mr. Stradivarius create replacement for Template:Icon |
imported>Mr. Stradivarius get the args with pairs so that we don't fetch args.size and args.class from the frame object every time |
||
| 24번째 줄: | 24번째 줄: | ||
function p.main(frame) | function p.main(frame) | ||
local args = {} | |||
for k, v in pairs(frame:getParent().args) do | |||
args[k] = v | |||
end | |||
return p._main(args) | |||
end | end | ||
return p | return p | ||
2015년 1월 23일 (금) 18:59 판
이 모듈에 대한 설명문서는 모듈:Icon/설명문서에서 만들 수 있습니다
-- This module implements [[Template:Icon]].
local data = mw.loadData('Module:Icon/data')
local p = {}
function p._main(args)
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|link=]]',
iconData.image,
iconData.tooltip and '|' .. iconData.tooltip 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