Модуль:Отексте/ТСД1

Материал из Викитеки — свободной библиотеки

Для документации этого модуля может быть создана страница Модуль:Отексте/ТСД1/Документация

local p = {};
p.type = "join"; -- дополнения интегрированы в осн. статьи, раздельная навигация

-- Строки --------------------------------------------------------------------------------------
p.wordlist = { default = "ТСД-словник" }; -- оглавление словника

-- Для индексов
p.indexpat = {"Толковый словарь Даля (1-е издание). Часть %s.pdf "};
p.scanpat = {"[https://ru.wikisource.org/w/index.php?title=Страница:Толковый_словарь_Даля_(1-е_издание)._Часть_%s.pdf/%u %s]"};
p.scan4index = true; -- использовать ли volumes[n].scan вместо volumes[n].index
p.transclude = true; -- загружать ли текст статьи из индекса
p.transclude_onlysection = true;
p.section_mod = { [true] = "", [false] = "+" };

-- Прочее
-- вместо автора
p.noauthor = {
    [false] = "[[Толковый словарь живого великорусского языка|Толковый словарь живого великорусского языка]] [[Владимир Иванович Даль|Владимира Даля]]",
    [true]  = "[[Толковый словарь живого великорусского языка|Толковый словарь живого великорусскаго языка]] [[Владимир Иванович Даль|Владиміра Даля]]"
};
-- для нижнего колонтитула
p.override = {
    [false] = "[[ТСД]]",
    [true]  = "[[ТСД]]"
};

-- категории
p.maincat = {
    [true] = "[[Категория:ТСД по алфавиту]][[Категория:ТСД:Дореформенная орфография]]",
    [false] = "[[Категория:ТСД по алфавиту]][[Категория:ТСД:Современная орфография]]"
};
p.alphacat = { [true] = "[[Категория:ТСД:", [false] = "[[Категория:ТСД:" };

p.wpsearch = true; -- если нужна ссылка на w:Special:Search/
p.rnum = "с. "; -- с./стлб.

-- Таблицы -----------------------------------------------------------------------------------------
-- Для типа join - несколько элементов (main, supplement etc.) со сборкой в body:


p.tsd1 = {
    cat = "[[Категория:ТСД:Статьи из 1-го издания]]",
    catnopage = "[[Категория:ТСД:1-е издание, не указана страница книги]]",
    listroot = { default = "ТСД-словник/1/" }, -- префикс секций словника
    -- subtitle = { [true] = "1 изданіе", [false] = "1 издание" },
    -- skipnav = true, -- не использовать для навигации    
    -- rnum = "стлб. ", -- в 3 издании столбцы
    
    -- Селектор секций
    listnum = {
    	{ "Ё", { "Е" } },
        { "А", { "А" } },
        { "Б", { "Б", "Би" } },
        { "Би", { "Би" } },
        { "В", { "В", "Вы", "Во" } },
        { "Во", { "Во" } },
        { "Вы", { "Вы" } },
        { "Г", { "Г" } },
        { "Д", { "Д", "Дон" } },
        { "Дон", { "Дон" } },
        { "Е", { "Е", "Ѣ" } },
        { "Ж", { "Ж" } },
        { "З", { "З", "Заст" } },
        { "Зал", { "Зал", "Заст" } },
        { "Заст", { "Заст" } },
		{ "И", { "И", "І", "Ѵ", "Изу" } },
		{ "Изу", { "Изу", "И", "І", "Ѵ" } },
		{ "Й", { "И", "І", "Ѵ" } },
        { "К", { "К", "Кор" } },
        { "Ки", { "Ки" } },
        { "Кор", { "Кор" } },
        { "Л", { "Л" } },
        { "М", { "М" } },
        { "Н", { "Н", "Нар" } },
        { "Нак", { "Нак" } },
        { "Нар", { "Нар" } },
        { "Не", { "Не" } },
        { "О", { "О", "Обц" } },
        { "Ор", { "Ор", "Ото", "О" } },
        { "Ото", { "Ото", "О" } },
		{ "П", { "П", "Перел", "Прор" } },
		{ "Пи", { "Пи" } },
		{ "Под", { "Под", "Подт" } },
		{ "Пок", { "Пок" } },
		{ "Поо", { "Поо" } },
		{ "Пор", { "Пор" } },
		{ "Пот", { "Пот", "Приг", "Прор" } },
		{ "Про", { "Про", "Прор" } },
        { "Р", { "Р", "Расп", "Р" } },
        { "С", { "С", "Сп" } },
        { "Сл", { "Сл" } },
        { "Сп", { "Сп" } },
        { "Т", { "Т" } },
        { "У", { "У" } },
        { "Ф", { "Ф", "Ѳ" } },
        { "Х", { "Х" } },
        { "Ц", { "Ц" } },
        { "Ч", { "Ч" } },
        { "Ш", { "Ш" } },
        { "Щ", { "Щ" } },
        { "Ъ", { "Ъ-Ы-Ь" } },
        { "Ы", { "Ъ-Ы-Ь" } },
        { "Ь", { "Ъ-Ы-Ь" } },
        { "Э", { "Э" } },
        { "Ю", { "Ю", "Ѧ" } },
        { "Я", { "Я" } },
    },
    
    -- Заголовки словников
    wordlists = {},
    -- вычисляются из wordlists (ниже)
    
    -- Словник в том
    wl2volume = {
        { from = "А", to = "Заст", volume ="1" },
        { from = "І", to = "І", volume ="2" },
        { from = "И", to = "Ото", volume ="2" },
        { from = "П", to = "Прор", volume ="3" },
        { from = "Р", to = "Я", volume ="4" },
        { from = "Ѣ", to = "Ѵ", volume ="4" },
    },    

    -- Заголовки томов
    volumes = {
		["1"] = { 
			[false] = "т. 1 (1-е изд., 1863)", 
			[true]  = "т. 1 (1-е изд., 1863)", 
			scan = { "1_(1863)", 1 },
			offsets = { { from = 1, to = 627, offset = 2 }, },
			cat = "[[Категория:ТСД1:1 том]]",
		},
		["2"] = { 
			[false] = "т. 2 (1-е изд., 1865)", 
			[true]  = "т. 2 (1-е изд., 1865)", 
			scan = { "2_(1865)", 1 },
			offsets = { { from = 627, to = 1351, offset = -626 }, },
			cat = "[[Категория:ТСД1:2 том]]",
		},
		["3"] = { 
			[false] = "т. 3 (1-е изд., 1865)", 
			[true]  = "т. 3 (1-е изд., 1865)", 
			scan = { "3_(1865)", 1 },
			offsets = { { from = 1, to = 508, offset = 1 }, },
			cat = "[[Категория:ТСД1:3 том]]",
		},
		["4"] = { 
			[false] = "т. 4 (1-е изд., 1866)", 
			[true]  = "т. 4 (1-е изд., 1866)", 
			scan = { "4_(1866)", 1 },
			offsets = { 
				{ from = 1, to = 466, offset = 1 }, 
				{ from = 467, to = 468, offset = 3 },  -- в ТСД1-4 ошибка: номера 467-468 у двух страниц, этим сбита последующая пагинация
				{ from = 467, to = 468, offset = 3 },  -- 469 ?
				{ from = 469, to = 626, offset = 3 },
			},
			cat = "[[Категория:ТСД1:4 том]]",
		},
    },
}

local wordlists = {
    "А", "Б", "Би",    "В", "Во", "Вы", "Г", "Д", "Дон", "Е", "Ж", "З", "Зал", "Заст",
    "И", "Изу", "І,Ѵ", "К", "Ки", "Кор", "Л", "М", "Н", "Нак", "Нар", "Не", "О", "Обц", "Ор", "Ото",
    "П", "Перел", "Пи", "Под", "Подт", "Пок", "Поо", "Пор", "Пот", "Приг", "Про", "Прор",
    "Р", "Расп", "С", "Сл", "Сп", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ-Ы-Ь", "Ѣ", "Э", "Ю", "Ѧ", "Я", "Ѳ",
}

for _, v in ipairs(wordlists) do p.tsd1.wordlists[v] = {}; p.tsd1.wordlists[v][true] = v; p.tsd1.wordlists[v][false] = v end

p.body = { p.tsd1 }; -- сборка
p.reversenav = true; -- навигация в обратном порядке
p.jointitles = 2; -- объединять названия из разных словников

----------------------------------------------------------------------------------------------------

return p