Модуль:Сноски (Bk;rl,&Vukvtn)
Перейти к навигации
Перейти к поиску
Документация
Этому модулю не хватает документации. |
local moduleRoman = require("Module:Roman")
local p = {}
function p.ref( frame )
local args = frame:getParent().args
local refTitle = args[1]
local refYears = args[2]
local loc = args.loc
local pRus = args['страницы']
local name
if ( args.name ) then
name = args.name
else
name = refTitle .. '-' .. refYears
if ( loc ) then
name = name .. '-' .. loc
end
if ( pRus ) then
name = name .. '-' .. pRus
end
end
local content = '[[#CITEREF' .. refTitle .. refYears .. '|' .. refTitle .. ', ' .. refYears .. ']]';
if ( loc ) then
content = content .. ' — ' .. loc
end
if ( pRus ) then
content = content .. ' — С. ' .. pRus
end
return frame:extensionTag{ name = "ref", content = content, args = { name = name } }
end
function p.refKaramzin( frame )
local args = frame:getParent().args
local volume = args['том']
local part = args['глава']
local pages = args['страницы']
local name = 'Karamzin1829-' .. (volume or '') .. '-'.. (part or '') .. '-'.. (pages or '')
local refString = '[[#CITEREFКарамзин1816—1829|\'\'Карамзин\'\', 1816—1829]]';
local link
if ( volume or part ) then
if ( part ) then
link = 's:История государства Российского (Карамзин)/Том ' .. moduleRoman.convert( volume ) .. '/Глава ' .. moduleRoman.convert( part )
else
link = 's:История государства Российского (Карамзин)/Том ' .. moduleRoman.convert( volume )
end
end
if ( link ) then
refString = refString .. ' — [[' .. link .. '|'
end
if ( volume ) then
if ( link ) then
refString = refString .. 'Т. ' .. moduleRoman.convert( volume )
else
refString = refString .. ' — Т. ' .. moduleRoman.convert( volume )
end
end
if ( part ) then
refString = refString .. ' — Глава ' .. moduleRoman.convert( part )
end
if ( pages ) then
refString = refString .. ' — С. ' .. pages
end
if ( link ) then
refString = refString .. ']]'
end
return frame:extensionTag{ name = "ref", content = refString, args = { name = name } }
end
return p