Модуль: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
[править]
Формирует код <div class="hatnote">...</div>
.
Параметры:
- первый параметр — текст заметки.
|extraclasses=
: дополнительные классы заметки.
|hide_disambig=
: при непустом и неложном значении к тексту добавляется класс dabhide
, скрывающий подсветку для пользователей гаджета подсветки неоднозначностей.
main
[править]
Генерирует текст-заметку. Позволяет ссылаться на неограниченное число страниц.
Синтаксис:
- вызов из вики-текста:
{{#invoke:Hatnote|main|префикс= префикс |префикс мн. ч.= префикс для нескольких ссылок |разделитель списка= разделитель списка |ПИ ссылок= пространство имен |extraclasses = дополнительные классы |точка= trueШаблон:\false |hide_disambig= trueШаблон:\false}}
- вызов из другого модуля:
-- подключение модуля
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
: при непустом и неложном значении ошибка выводится только во время предпросмотра.