Нет описания правки |
|||
Строка 24: | Строка 24: | ||
return '<span class="animated">' .. table.concat( images ) .. '</span>' |
return '<span class="animated">' .. table.concat( images ) .. '</span>' |
||
end |
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">' ) |
||
+ | |||
+ | return '<span class="animated">' .. table.concat( result ) .. '</span>' |
||
+ | end |
||
+ | |||
return p |
return p |
Версия от 08:35, 31 января 2017
Этот модуль реализует шаблоны {{Анимация}} и {{АнимацияСтроки}}. Он (модуль) при включении в шаблонах принимает не непосредственные аргументы, а аргументы вызвавшей страницы, поэтому вызывать этот модуль в шаблонах напрямую не рекомендуется.
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>' )
table.insert( result, '<span>' .. text .. '</span>' )
end
end
result[1] = result[1]:gsub( '^<span>', '<span class="animated">' )
return '<span class="animated">' .. table.concat( result ) .. '</span>'
end
return p