<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AHatnote%2Fdoc</id>
	<title>Модуль:Hatnote/doc - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AHatnote%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hatnote/doc&amp;action=history"/>
	<updated>2026-04-23T11:19:21Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hatnote/doc&amp;diff=72660&amp;oldid=prev</id>
		<title>Karaby: Новая страница: «{{docpage}} Модуль предназначен для реализации hatnote-шаблонов (например, {{t|основная статья}}, {{t…»</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hatnote/doc&amp;diff=72660&amp;oldid=prev"/>
		<updated>2021-06-21T07:35:44Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{docpage}} Модуль предназначен для реализации hatnote-шаблонов (например, {{t|основная статья}}, {{t…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{docpage}}&lt;br /&gt;
Модуль предназначен для реализации hatnote-шаблонов (например, {{t|основная статья}}, {{t|см. также}}). Также он содержит несколько функций для работы со ссылками и отслеживания ошибок. См. тесты на странице [[Шаблон:Основная статья/тесты]].&lt;br /&gt;
&lt;br /&gt;
== Основные функции ==&lt;br /&gt;
Основные функции содержатся в таблице {{code|p}}, все функции можно вызывать как из других модулей, так и через {{mwmw|invoke}}. При вызове из модуля функции принимают первым параметром таблицу с аргументами. Все описанные ниже параметры являются аргументами этой таблицы. Некоторые параметры принимают булевоподобные значения: их перечисление можно найти [[Модуль:Yesno|здесь]].&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;parse_link&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Принимает на вход ссылку, возвращает два значения: целевую страницу и видимую часть ссылки. Если ссылку не удалось разобрать, возвращает {{code|nil}}. Наличие квадратных скобок не обязательно.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;format_link&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Формирует вики-ссылку. Превращает {{code|#}} в ссылках на разделы в знак параграфа, отбитый пробелами, делая их более читабельными (см. {{t|ссылка на раздел}}). &lt;br /&gt;
&lt;br /&gt;
Параметры:&lt;br /&gt;
* первый параметр: название целевой страницы или вики-ссылка.&lt;br /&gt;
* второй параметр: название раздела. Параметр будет проигнорирован, если раздел уже задан в первом параметре через {{code|#}}.&lt;br /&gt;
* третий параметр: видимый текст ссылки.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;remove_precision&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Убирает уточнение из первого параметра (см. {{t|без уточнения}}).&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;is_disambig&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Функция, определяющая, является ли первый параметр [[Википедия:Неоднозначность|страницей разрешения неоднозначности]]. Список шаблонов неоднозначностей берется со страницы [[MediaWiki:Disambiguationspage]].&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Формирует список из вики-ссылок.&lt;br /&gt;
&lt;br /&gt;
Параметры:&lt;br /&gt;
* нумерованные параметры — ссылки на страницы.&lt;br /&gt;
* {{para|l1}}, {{para|l2}} и т. д. — текст ссылок.&lt;br /&gt;
* {{para|list_sep}} или {{para|разделитель списка}}: разделитель списка, по умолчанию — {{no wikify|«, »}}.&lt;br /&gt;
* {{para|natural_join}}: при неложном значении вместо последнего разделителя выводится союз «и».&lt;br /&gt;
* {{para|links_ns}} или {{para|ПИ ссылок}}: ко всем ссылкам добавляется префикс указанного пространства имен.&lt;br /&gt;
* {{para|bold_links}} или {{para|ссылки болдом}}: при непустом и неложном значении каждая ссылка выделяется полужирным.&lt;br /&gt;
&lt;br /&gt;
Возвращает таблицу, для неё предусмотрен метод {{code|tostring()}} и конкатенация. Именованные параметры этой таблицы — булевы переменные, истинные при обнаружении проблем. Отслеживаемые проблемы: {{code|red_link}}, {{code|bad_format}}, {{code|formatted}}, {{code|unparsable_link}}. Их описание [[#Отслеживаемые случаи|см. ниже]].&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;hatnote&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Формирует код {{tag|div|params=class=&amp;quot;hatnote&amp;quot;|content=...}}.&lt;br /&gt;
&lt;br /&gt;
Параметры:&lt;br /&gt;
* первый параметр — текст заметки.&lt;br /&gt;
* {{para|id}}: id заметки.&lt;br /&gt;
* {{para|extraclasses}}: дополнительные классы заметки.&lt;br /&gt;
* {{para|hide_disambig}}: при непустом и неложном значении к тексту добавляется класс {{code|dabhide}}, скрывающий подсветку для пользователей [[Википедия:Гаджеты/Выделение неоднозначностей|гаджета подсветки неоднозначностей]].&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Генерирует текст-заметку. Позволяет ссылаться на неограниченное число страниц.&lt;br /&gt;
Синтаксис:&lt;br /&gt;
* вызов из вики-текста:&lt;br /&gt;
: {{tpre|#invoke:Hatnote|main|префикс{{=}} &amp;#039;&amp;#039;префикс&amp;#039;&amp;#039;{{optp|префикс мн. ч.{{=}} &amp;#039;&amp;#039;префикс для нескольких ссылок&amp;#039;&amp;#039;|разделитель списка{{=}} &amp;#039;&amp;#039;разделитель списка&amp;#039;&amp;#039;|ПИ ссылок{{=}} &amp;#039;&amp;#039;пространство имен&amp;#039;&amp;#039; |extraclasses {{=}} &amp;#039;&amp;#039;дополнительные классы&amp;#039;&amp;#039;|точка{{=}} &amp;#039;&amp;#039;true{{\}}false&amp;#039;&amp;#039;|hide_disambig{{=}} &amp;#039;&amp;#039;true{{\}}false&amp;#039;&amp;#039;|_spaced=yes}}}}&lt;br /&gt;
* вызов из другого модуля:&lt;br /&gt;
: &amp;lt;source lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- подключение модуля&lt;br /&gt;
local hatnote = require(&amp;#039;Модуль:Hatnote&amp;#039;).main&lt;br /&gt;
&lt;br /&gt;
-- пример использования без изменения категорий по умолчанию&lt;br /&gt;
local res1 = hatnote{&lt;br /&gt;
    &amp;#039;Какая-то статья&amp;#039;,&lt;br /&gt;
    l1 = &amp;#039;Какой-нибудь текст ссылки&amp;#039;,&lt;br /&gt;
    prefix = &amp;#039;Основная статья:&amp;#039;,&lt;br /&gt;
    prefix_plural = &amp;#039;Основные статьи:&amp;#039;,&lt;br /&gt;
    dot = true,&lt;br /&gt;
    nocat = args.nocat -- следует всегда передавать nocat, если он предусмотрен&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- и с изменением&lt;br /&gt;
local res2 = hatnote({&lt;br /&gt;
    &amp;#039;Еще какая-то статья&amp;#039;,&lt;br /&gt;
    prefix = &amp;#039;См. также:&amp;#039;,&lt;br /&gt;
    list_sep = &amp;#039;; &amp;#039;,&lt;br /&gt;
    natural_join = false,&lt;br /&gt;
    nocat = args.nocat&lt;br /&gt;
}, {&lt;br /&gt;
    red_link = &amp;#039;Википедия:Статьи с шаблоном «См. также» с красными ссылками&amp;#039;&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{видимый якорь|Параметры:|main-Параметры}}&lt;br /&gt;
* {{para|prefix}} или {{para|префикс}}: обязательный параметр, текст перед списком ссылок.&lt;br /&gt;
* {{para|prefix_plural}} или {{para|префикс мн. ч.}}: если ссылок несколько, для префикса вместо предыдущего параметра будет использован этот.&lt;br /&gt;
* {{para|sep}} или {{para|разделитель}}: разделитель между префиксом и списком ссылок.&lt;br /&gt;
* {{para|dot}} или {{para|точка}}: при непустом и неложном значении выводится точка в конце.&lt;br /&gt;
* {{para|nocat}}: при непустом и неложном значении отключается категоризация.&lt;br /&gt;
* {{para|empty_list_message}}: сообщение об ошибке, выводящееся при пустом списке ссылок. По умолчанию — «Не указано ни одной страницы».&lt;br /&gt;
* {{para|preview_error}}: при непустом и неложном значении ошибка при пустом списке ссылок выводится только во время предпросмотра.&lt;br /&gt;
Функция также принимает все параметры функций {{code|list}} и {{code|hatnote}} и передает их без изменения в эти функции.&lt;br /&gt;
&lt;br /&gt;
Вторым параметром (при вызове через другой модуль) функция принимает таблицу с переназначенными категориями. Их идентификаторы [[#Отслеживаемые случаи|см. ниже]]:&lt;br /&gt;
&lt;br /&gt;
== Служебные функции ==&lt;br /&gt;
Находятся в таблице {{code|tr}}, предназначены для отслеживания проблем и вывода сообщений об ошибках. Все функции можно вызывать только из других модулей.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;define_categories&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lua&amp;quot;&amp;gt;tr.define_categories(tracking_categories)&amp;lt;/source&amp;gt;&lt;br /&gt;
Создает объект, представляющий собой таблицу с категориями и функцией для их добавления. Первым параметром передается ассоциированный массив с идентификаторами отслеживающих категорий.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;add&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lua&amp;quot;&amp;gt;categories:add(type, nocat)&amp;lt;/source&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lua&amp;quot;&amp;gt;categories:add(category_name, nocat)&amp;lt;/source&amp;gt;&lt;br /&gt;
Добавляет в таблицу категории. Первый параметр — либо идентификатор, объявленный в {{code|define_categories()}}, либо название категории. Второй параметр — отключение категоризации.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lua&amp;quot;&amp;gt;tr.error(msg, categories, preview_only)&amp;lt;/source&amp;gt;&lt;br /&gt;
Выводит сообщение об ошибке. Если ошибка генерируется шаблоном, то отображается название этого шаблона; если прямым вызовом через {{mwmw|invoke}}, то название вызываемого модуля.&lt;br /&gt;
&lt;br /&gt;
Параметры:&lt;br /&gt;
* {{code|msg}}: текст сообщения.&lt;br /&gt;
* {{code|categories}}: либо [[#define_categories|объект]], возвращаемый {{code|define_categories()}}, либо строка с категориями.&lt;br /&gt;
* {{code|preview_only}}: при непустом и неложном значении ошибка выводится только во время предпросмотра.&lt;br /&gt;
&lt;br /&gt;
== Отслеживаемые случаи ==&lt;br /&gt;
* {{code|no_prefix}} — не задан префикс. Также выводится сообщение об ошибке.&lt;br /&gt;
*: Категория: {{cl|Википедия:Страницы с модулем Hatnote без указания префикса}}&lt;br /&gt;
* {{code|no_links}} — не задано ни одной ссылки. Также выводится сообщение об ошибке (либо в тексте статьи, либо только во время предварительного просмотра, подробнее см. [[#main-Параметры]]).&lt;br /&gt;
*: Категория: {{cl|Википедия:Страницы с модулем Hatnote без ссылок}}&lt;br /&gt;
* {{code|red_link}} — параметр содержит ссылку на несуществующую статью.&lt;br /&gt;
*: Категория: {{cl|Википедия:Страницы с модулем Hatnote с красной ссылкой}}&lt;br /&gt;
* {{code|bad_format}} — параметр содержит разделитель {{tc|!}} вместо параметра {{para|l&amp;#039;&amp;#039;x&amp;#039;&amp;#039;}} или лишние квадратные скобки.&lt;br /&gt;
*: Категория: {{cl|Википедия:Страницы с модулем Hatnote с некорректно заполненными параметрами}}&lt;br /&gt;
* {{code|formatted}} — параметр содержит {{code|&amp;lt;nowiki&amp;gt;&amp;lt;span&amp;lt;/nowiki&amp;gt;}} (в таком случае он не парсится, а выдаётся в готовом виде). Нужно для поддержки шаблонов {{t|не переведено}} в качестве параметров.&lt;br /&gt;
*: Категория: {{cl|Википедия:Страницы с модулем Hatnote с готовым форматированием}}&lt;br /&gt;
* {{code|unparsable_link}} — параметр содержит нестандартное оформление, которое не может быть разобрано модулем (например, {{tc|см. также|&amp;lt;nowiki&amp;gt;[https://example.com внешние ссылки]&amp;lt;/nowiki&amp;gt;}} или {{tc|см. также|&amp;lt;nowiki&amp;gt;посторонний текст помимо [[ссылка|ссылки]]&amp;lt;/nowiki&amp;gt;}}).&lt;br /&gt;
*: Категория: {{cl|Википедия:Страницы с модулем Hatnote с нечитаемой ссылкой}}&lt;br /&gt;
&lt;br /&gt;
== Использование в других модулях ==&lt;br /&gt;
Некоторые функции используются в следующих модулях ({{plain link|url= https://ru.wikipedia.org/w/index.php?search=insource%3A%2Frequire+%2A%5C%28%3F+%2A%5B%27%22%5D+%2A%28%5BMm%5Dodule%7C%5B%D0%9C%D0%BC%5D%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%29+%2A%3A+%2A%5BHh%5Datnote+%2A%5B%27%22%5D%2F&amp;amp;title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&amp;amp;profile=advanced&amp;amp;fulltext=1&amp;amp;ns828=1|name= проверить}}):&lt;br /&gt;
* [[Модуль:ФИО]]&lt;br /&gt;
* [[Модуль:Другие значения]]&lt;br /&gt;
* [[Модуль:Основная статья]]&lt;/div&gt;</summary>
		<author><name>Karaby</name></author>
	</entry>
</feed>