Module:Animate
来自存档计划,Project Archive by Lakejason0
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 ''
local link = args[3] or ''
if size ~= '' then
size = '|' .. size
end
if link ~= '' then
link = '|link=' .. link
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>[[File:' .. image .. size .. ']]</span>' )
end
end
images[1] = images[1]:gsub( '^<span>', '<span class="animated-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>' )
table.insert( result, '<span>' .. text .. '</span>' )
end
end
result[1] = result[1]:gsub( '^<span>', '<span class="animated-active">' )
return '<span class="animated">' .. table.concat( result ) .. '</span>'
end
return p