Этот модуль реализует шаблоны {{Анимация}} и {{АнимацияСтроки}}. Он (модуль) при включении в шаблонах принимает не непосредственные аргументы, а аргументы вызвавшей страницы, поэтому вызывать этот модуль в шаблонах напрямую не рекомендуется.
local p = {}
function p.animate( f )
local args = f
if f == mw.getCurrentFrame() then
args = f:getParent().args
end
local files = args[1] or ''
local size = args[2] or ''
if size ~= '' then
size = '|' .. size
end
local images = {}
for image in mw.text.gsplit( files, '%s*;%s*' ) do
if image == '' then
table.insert( images, '<span><br></span>' )
else
table.insert( images, '<span>[[Файл:' .. image .. size .. ']]</span>' )
end
end
images[1] = images[1]:gsub( '^<span>', '<span class="active">' )
return '<span class="animated">' .. table.concat( images ) .. '</span>'
end
function p.text( f )
local args = f
if f == mw.getCurrentFrame() then
args = f:getParent().args
end
local texts = args[1]
local result = {}
for text in mw.text.gsplit( texts, '%s*;%s*' ) do
if text == '' then
table.insert( result, '<span><br></span>' )
else
table.insert( result, '<span>' .. text .. '</span>' )
end
end
result[1] = result[1]:gsub( '^<span>', '<span class="active">' )
return '<span class="animated">' .. table.concat( result ) .. '</span>'
end
return p