Модуль:Отексте/ТолстойПСС

Документация Документация

Для шаблона {{ТолстойПСС}}. Подставляет параметры, которые передаются в шаблон {{отексте}}.

Для отображения библиографического описания книги вызывается шаблон:Книга:ТолстойПСС.

local p = {}

-- Названия частей произведения по порядоквым номерам, если они выложены на отдельных страницах.
-- Позволяет при задании номер части в шаблоне подстановить название части.
local names_of_parts = {
	['Детство'] = {'Учитель Карл Иваныч', 'Maman', 'Папа', 'Классы', 'Юродивый', 'Приготовления к охоте', 'Охота', 'Игры', 'Что-то вроде первой любви', 'Что за человек был мой отец?', 'Занятия в кабинете и гостиной', 'Гриша', 'Наталья Савишна', 'Разлука', 'Детство', 'Стихи', 'Княгиня Корнакова', 'Князь Иван Иваныч', 'Ивины', 'Собираются гости', 'До мазурки', 'Мазурка', 'После мазурки', 'В постели', 'Письмо', 'Что ожидало нас в деревне', 'Горе', 'Последние грустные воспоминания'},
}

-- Параметры шаблона {{ТолстойПСС}}, передаются в шаблон {{отексте}}
function p.wrapper ( frame, a )
	a["АВТОР"] = "Лев Николаевич Толстой"
	a["СТИЛЬ"] = 'drama text'
	title = a["НАЗВАНИЕ"]
	part = a["ЧАСТЬ"]; if tonumber(part) then part = names_of_parts[title][tonumber(part)] end

	-- Шаблон:Книга:ТолстойПСС
	volume = a["ТОМ"]
	pages = a["СТРАНИЦЫ"]
	source = frame:expandTemplate{ title = 'Книга:ТолстойПСС', args = {['часть']=title,['том']=volume,['страницы']=pages}}
	if volume then source = source .. ' ([[Индекс:L. N. Tolstoy. All in 90 volumes. Volume '..volume..'.pdf|индекс]])' end
	a["ИСТОЧНИК"] = source
	
	cat = {}  -- '[[Категория:Полное собрание сочинений Л. Н. Толстого]]'}
	-- mw.logObject(a,"a");
	return a, cat, ''
end


-- проверка переменной, возврат её или nil если пустая
function is ( var ) if ( var == '' or var == nil ) then return nil else return var end end

return p