Модуль:Отексте/doc: различия между версиями

Материал из Народные Сказки
мНет описания правки
 
м (1 версия импортирована)
 
(нет различий)

Текущая версия от 12:53, 1 мая 2024

Реализует функциональность шаблона {{Отексте}} средствами Lua. Парсит в словниках шаблоны семейства {{Статья в словнике}}. Может подгружать на страницу секции из ПИ «Страница».

Используемые модули данных[править код]

Шаблон:Статья в словнике[править код]

Параметры шаблона
  • 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 + correction
  • factor — для страниц скана, на которые приходится больше одного номера пагинации (колонки, сканы в разворот и т. п.). Например, при 2 номерах на страницу во всех томах: p.factor = 2
  • correction — корректирующий сдвиг для 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), которому передается таблица с параметрами шаблона. Он их обрабатывает (в том числе все нестандартные параметры), и возвращает таблицу со стандартным набором данных для сборки Отексте. Далее главный модуль выполняется как обычно, только с другим набором данных.

Отслеживание ошибок[править код]