Модуль:Hatnote/doc

Материал из Викиучебника — открытых книг для открытого мира

Это страница документации Модуль:Hatnote.


Модуль предназначен для реализации hatnote-шаблонов (например, {{основная статья}}, {{см. также}}). Также он содержит несколько функций для работы со ссылками и отслеживания ошибок. См. тесты на странице Шаблон:Основная статья/тесты.

Основные функции[править]

Основные функции содержатся в таблице

Кол программы Комментарии к нему
текст = p текст =

, все функции можно вызывать как из других модулей, так и через Шаблон:Mwmw. При вызове из модуля функции принимают первым параметром таблицу с аргументами. Все описанные ниже параметры являются аргументами этой таблицы. Некоторые параметры принимают булевоподобные значения: их перечисление можно найти здесь.

format_link[править]

Реализация шаблона {{ссылка на раздел}}.

remove_precision[править]

Реализация шаблона {{без уточнения}}.

is_disambig[править]

Функция, определяющая, является ли первый параметр страницей разрешения неоднозначности. Список шаблонов неоднозначностей берется со страницы MediaWiki:Disambiguationspage.

list[править]

Формирует список из вики-ссылок.

Параметры:

  • нумерованные параметры — ссылки на страницы.
  • |l1=, |l2= и т. д. — текст ссылок.
  • |list_sep= или |разделитель списка=: разделитель списка, по умолчанию — Шаблон:No wikify.
  • |natural_join=: при неложном значении вместо последнего разделителя выводится союз «и».
  • |links_ns= или |ПИ ссылок=: ко всем ссылкам добавляется префикс указанного пространства имен.
  • |bold_links= или |ссылки болдом=: при непустом и неложном значении каждая ссылка выделяется полужирным.

Возвращает таблицу, для неё предусмотрен метод

Кол программы Комментарии к нему
текст = tostring() текст =

и конкатенация. Именованные параметры этой таблицы — булевы переменные, истинные при обнаружении проблем. Отслеживаемые проблемы:

Кол программы Комментарии к нему
текст = red_link текст =

 — ссылка на несуществующую статью.

Кол программы Комментарии к нему
текст = bad_format текст =

 — параметр содержит разделитель {{!}} вместо параметра |lx= или лишние квадратные скобки.

Кол программы Комментарии к нему
текст = formatted текст =

 — параметр содержит <span (в таком случае он не парсится, а выдаётся в готовом виде). Нужно для поддержки шаблонов {{не переведено}} в качестве параметров.

hatnote[править]

Формирует код Шаблон:Tag.

Параметры:

  • первый параметр — текст заметки.
  • |extraclasses=: дополнительные классы заметки.
  • |hide_disambig=: при непустом и неложном значении к тексту добавляется класс
Кол программы Комментарии к нему
текст = dabhide текст =

, скрывающий подсветку для пользователей гаджета подсветки неоднозначностей.

main[править]

Генерирует текст-заметку. Позволяет ссылаться на неограниченное число страниц. Синтаксис:

  • вызов из вики-текста:
{{#invoke:Hatnote|main|префикс= префиксШаблон:Optp}}
  • вызов из другого модуля:
-- подключение модуля
local hatnote = require('Модуль:Hatnote').main

-- пример использования без изменения категорий по умолчанию
local res1 = hatnote{
    'Какая-то статья',
    l1 = 'Какой-нибудь текст ссылки',
    prefix = 'Основная статья:',
    prefix_plural = 'Основные статьи:',
    dot = true,
    nocat = args.nocat -- следует всегда передавать nocat, если он предусмотрен
}

-- и с изменением
local res2 = hatnote({
    'Еще какая-то статья',
    prefix = 'См. также:',
    list_sep = '; ',
    natural_join = false,
    nocat = args.nocat
}, {
    red_link = 'Викиучебник:Статьи с шаблоном «См. также» с красными ссылками'
})

Параметры:

  • |prefix= или |префикс=: обязательный параметр, текст перед списком ссылок.
  • |prefix_plural= или |префикс мн. ч.=: если ссылок несколько, для префикса вместо предыдущего параметра будет использован этот.
  • |sep= или |разделитель=: разделитель между префиксом и списком ссылок.
  • |dot= или |точка=: при непустом и неложном значении выводится точка в конце.
  • |nocat=: при непустом и неложном значении отключается категоризация.
  • |preview_error=: при непустом и неложном значении ошибка выводится только во время предпросмотра.

Функция также принимает все параметры функций

Кол программы Комментарии к нему
текст = list текст =

и

Кол программы Комментарии к нему
текст = hatnote текст =

и передает их без изменения в эти функции.

Вторым параметром (при вызове через другой модуль) функция принимает таблицу с переназначенными категориями. Идентификаторы отслеживающих категорий:

Кол программы Комментарии к нему
текст = no_prefix текст =

: Викиучебник:Страницы с модулем Hatnote без ссылок

Кол программы Комментарии к нему
текст = no_links текст =

: Викиучебник:Страницы с модулем Hatnote без указания префикса

Кол программы Комментарии к нему
текст = red_link текст =

: Викиучебник:Страницы с модулем Hatnote с красной ссылкой

Кол программы Комментарии к нему
текст = bad_format текст =

: Викиучебник:Страницы с модулем Hatnote с некорректно заполненными параметрами

Кол программы Комментарии к нему
текст = formatted текст =

: Викиучебник:Страницы с модулем Hatnote с готовым форматированиеми

Служебные функции[править]

Находятся в таблице

Кол программы Комментарии к нему
текст = tr текст =

, предназначены для отслеживания проблем и вывода сообщений об ошибках. Все функции можно вызывать только из других модулей.

make_categories[править]

tr.make_categories(tracking_categories)

Создает объект, представляющий собой таблицу с категориями и функцией для их добавления. Первым параметром передается ассоциированный массив с идентификаторами отслеживающих категорий.

add[править]

categories:add(type, nocat)

Добавляет в таблицу категории. Первый параметр — идентификатор, второй — отключение категоризации.

error[править]

tr.error(msg, categories, preview_only)

Выводит сообщение об ошибке. Если ошибка генерируется шаблоном, то отображается название этого шаблона; если прямым вызовом через Шаблон:Mwmw, то название вызываемого модуля.

Параметры:

Кол программы Комментарии к нему
текст = msg текст =

: текст сообщения.

Кол программы Комментарии к нему
текст = categories текст =

: либо объект, либо строка с категориями.

Кол программы Комментарии к нему
текст = preview_only текст =

: при непустом и неложном значении ошибка выводится только во время предпросмотра.