Модуль:Отексте/doc: различия между версиями
мНет описания правки |
Импортёр (обсуждение | вклад) м (1 версия импортирована) |
(нет различий)
|
Текущая версия от 12:53, 1 мая 2024
Реализует функциональность шаблона {{Отексте}} средствами Lua. Парсит в словниках шаблоны семейства {{Статья в словнике}}. Может подгружать на страницу секции из ПИ «Страница».
Используемые модули данных[править код]
- Модуль:Отексте/строки
- Модуль:Отексте/transl-lang — реализация шаблона {{Transl-lang}}
- Модуль:Источники по теме — генерация ссылок на словари и братские проекты
- MediaWiki:Encyclopedias settings.json — настройки энциклопедий, MediaWiki:Wikiprojects settings.json — настройки проектов
- Модули шаблонов словников (полный список):
- Модули расширений:
Шаблон:Статья в словнике[править код]
- Параметры шаблона
- 1-й и 2-й — названия страниц в двух орфографиях,
- 3-й параметр (а также 5-й и 7-й, если есть) — номера страниц/столбцов в печатном издании (hard), 4-й (также 6-й и 8-й) — номера страниц в скане (soft). Несколько пар этих параметров используются для сборки статьи из нескольких источников (см., например ЭСБЕ/Россия — единственный пока пример, где используются 7-й и 8-й параметры). Оба параметра (hard и soft) — составные, т. е. могут состоять из нескольких значений через слэш «/»: для hard —
страницы/пагинация/том
(пагинация — для случаев, когда том имеет несколько пагинаций, пока не используется); для soft — значенияfrom/to/exclude
для передачи в<pages>
.
Если параметр soft пустой или отсутствует, но в подмодуле имеется параметрoffsets
для данного тома — номера soft вычисляются на основе соответствующих номеров hard.
Переменные модуля[править код]
Пагинация[править код]
Номера страниц вычисляются по формуле: ((hard + correction) / factor) + offset (с округлением вверх)
.
- Параметры
hard
— номера страниц/столбцов в печатном изданииoffset
— смещение номеров страниц/столбцов книги относительно индексных страниц сканаsoft
— номера страниц в скане, = hard + correctionfactor
— для страниц скана, на которые приходится больше одного номера пагинации (колонки, сканы в разворот и т. п.). Например, при 2 номерах на страницу во всех томах:p.factor
= 2correction
— корректирующий сдвиг для factor. Если номера идут не в порядке 1-2,3-4,5-6… (здесь достаточно factor), а 1,2-3,4-5… — тогда используетсяcorrection = 1
Пример: для номеров 625 и 626 при correction=1, factor=2 и offset=17 получаем страницы 330 и 331; а при correction=0 (это значение по умолчанию) оба раза будет 330.
Модули-расширения[править код]
Модуль должен называться как подмодуль этого модуля, например Модуль:Отексте/Документ. И возвращать 3 значения (return params, categories, beforetext
). Где первое — таблица параметров в формате data.p
главного модуля, второе — таблица с категориями, третье — текст перед шаблоном-шапкой.
Для подключения в шаблоне (в данном примере в Шаблон:Документ) название модуля задаётся в переменной ext
:
{{#invoke:Отексте|textinfo|ext=Документ}}
- Алгоритм
Запускается Модуль:Отексте. По полученному из шаблона названию вызывается модуль расширения (extpath
), которому передается таблица с параметрами шаблона. Он их обрабатывает (в том числе все нестандартные параметры), и возвращает таблицу со стандартным набором данных для сборки Отексте. Далее главный модуль выполняется как обычно, только с другим набором данных.
Отслеживание ошибок[править код]
- Категория:Страница в оглавлении не найдена (оглавление — это словник)
- Категория:Оглавление не найдено