Модуль:Анимация спрайтов — различия между версиями
Материал из Hilarious Wiki
Niki119 (обсуждение | вклад) |
Niki119 (обсуждение | вклад) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 11: | Строка 11: | ||
if mod ~= '' then | if mod ~= '' then | ||
mod = '/' .. mod | mod = '/' .. mod | ||
+ | end | ||
+ | if names == '' and mod ~= '' then | ||
+ | names=args[1] | ||
+ | mod='' | ||
end | end | ||
Строка 18: | Строка 22: | ||
table.insert( sprites, '<span><br></span>' ) | table.insert( sprites, '<span><br></span>' ) | ||
else | else | ||
− | table.insert( sprites, '<span>{{ | + | table.insert( sprites, '<span>{{ИнвСпрайт' .. mod .. '|' .. name .. '}}</span>' ) |
end | end | ||
end | end | ||
sprites[1] = sprites[1]:gsub( '^<span>', '<span class="active">' ) | sprites[1] = sprites[1]:gsub( '^<span>', '<span class="active">' ) | ||
− | return '<span class="animated">' .. table.concat( sprites ) .. '</span>' | + | return f:preprocess('<span class="animated">' .. table.concat( sprites ) .. '</span>') |
end | end | ||
return p | return p |
Текущая версия на 14:11, 4 июня 2020
Этот модуль реализует шаблон {{Анимация спрайтов}}. Он (модуль) при включении в шаблонах принимает не непосредственные аргументы, а аргументы вызвавшей страницы, поэтому вызывать этот модуль в шаблонах напрямую не рекомендуется.
Расположенная выше документация включена из Модуль:Анимация спрайтов/док.
local p = {}
function p.animate( f )
local args = f
if f == mw.getCurrentFrame() then
args = f:getParent().args
end
local mod = args[1] or ''
local names = args[2] or ''
if mod ~= '' then
mod = '/' .. mod
end
if names == '' and mod ~= '' then
names=args[1]
mod=''
end
local sprites = {}
for name in mw.text.gsplit( names, '%s*;%s*' ) do
if name == '' then
table.insert( sprites, '<span><br></span>' )
else
table.insert( sprites, '<span>{{ИнвСпрайт' .. mod .. '|' .. name .. '}}</span>' )
end
end
sprites[1] = sprites[1]:gsub( '^<span>', '<span class="active">' )
return f:preprocess('<span class="animated">' .. table.concat( sprites ) .. '</span>')
end
return p