Модуль:Ссылки: различия между версиями
Перейти к навигации
Перейти к поиску
StasR (обсуждение | вклад) Нет описания правки |
StasR (обсуждение | вклад) Нет описания правки |
||
Строка 23: | Строка 23: | ||
return '<span class="nkvd-links">' .. table.concat( out, ' • ' ) .. '</span>' | return '<span class="nkvd-links">' .. table.concat( out, ' • ' ) .. '</span>' | ||
end | 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] and Args['источник'] ) .. '</span>)' | |||
else | |||
out = '<span class="nkvd-value">' .. ( Args[1] and 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 | return p |
Версия от 01:47, 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] and Args['источник'] ) .. '</span>)'
else
out = '<span class="nkvd-value">' .. ( Args[1] and 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