Модуль:Ссылки: различия между версиями
Перейти к навигации
Перейти к поиску
StasR (обсуждение | вклад) Нет описания правки |
StasR (обсуждение | вклад) Нет описания правки |
||
Строка 38: | Строка 38: | ||
out = '<span class="nkvd-value">' .. Args['первоисточник'] | out = '<span class="nkvd-value">' .. Args['первоисточник'] | ||
.. '</span> (воспроизводится по: <span class="nkvd-value">' | .. '</span> (воспроизводится по: <span class="nkvd-value">' | ||
.. ( Args[1] | .. ( Args[1] or Args['источник'] ) .. '</span>)' | ||
else | else | ||
out = '<span class="nkvd-value">' .. ( Args[1] or Args['источник'] ) .. '</span>' | out = '<span class="nkvd-value">' .. ( Args[1] or Args['источник'] ) .. '</span>' |
Версия от 01:51, 20 декабря 2016
Для документации этого модуля может быть создана страница Модуль:Ссылки/doc
local p = {}
tools = require( 'Модуль:Tools' )
p[''] = function ( frame )
local Args, tmp = tools.checkargs( frame:getParent().args,
{ ['публикация'] = true, ['источник'] = true, ['архив'] = true, } )
if not Args then
return tools.errorMsg( 'Ссылки', 'Неизвестный параметр «' .. tmp .. '»', '' )
end
local out = {}
if Args['публикация'] then
out[#out+1] = 'опубликовано: <span class="nkvd-value">'
.. Args['публикация'] .. '</span>'
end
if Args['источник'] then
out[#out+1] = 'воспроизводится по: <span class="nkvd-value">'
.. Args['источник'] .. '</span>'
end
if Args['архив'] then
out[#out+1] = '<span class="nkvd-value">'
.. Args['архив'] .. '</span>'
end
return '<span class="nkvd-links">' .. table.concat( out, ' • ' ) .. '</span>'
end
p.Main = function ( frame )
local Args, tmp = tools.checkargs( frame:getParent().args,
{ true, ['первоисточник'] = true, ['источник'] = true, ['архив'] = true,
['дополнение'] = true, ['сноска'] = true, } )
if not Args then
return tools.errorMsg( 'ссылка', 'Неизвестный параметр «' .. tmp .. '»', '' )
end
if Args[1] and Args['источник'] then
return tools.errorMsg( 'ссылка', 'Источник задан и как позиционный параметр, и как ключевой', '' )
end
local out
if Args['первоисточник'] then
out = '<span class="nkvd-value">' .. Args['первоисточник']
.. '</span> (воспроизводится по: <span class="nkvd-value">'
.. ( Args[1] or Args['источник'] ) .. '</span>)'
else
out = '<span class="nkvd-value">' .. ( Args[1] or Args['источник'] ) .. '</span>'
end
if Args['архив'] then
if out then
out = out .. '; '
else
out = ''
end
out = out .. '<span class="nkvd-archive">' .. Args['архив'] .. '</span>'
end
return '<span class="nkvd-links">' .. out .. tools.commonParams( Args['дополнение'], Args['сноска'] )
.. '</span>'
end
return p