Модуль:Анимация спрайтов — различия между версиями

 
(не показано 6 промежуточных версий этого же участника)
Строка 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>{{{Спрайт' .. mod .. '|' .. name .. '}}}</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