<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://ru.ru-skazki.ru/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="http://ru.ru-skazki.ru/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="http://ru.ru-skazki.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hatnote/doc&amp;action=history"/>
	<updated>2026-05-08T13:08:31Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>http://ru.ru-skazki.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hatnote/doc&amp;diff=4839&amp;oldid=prev</id>
		<title>Импортёр: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://ru.ru-skazki.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hatnote/doc&amp;diff=4839&amp;oldid=prev"/>
		<updated>2024-05-01T10:07:12Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 13:07, 1 мая 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Импортёр</name></author>
	</entry>
	<entry>
		<id>http://ru.ru-skazki.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hatnote/doc&amp;diff=4838&amp;oldid=prev</id>
		<title>ru&gt;Andras в 12:08, 11 июня 2023</title>
		<link rel="alternate" type="text/html" href="http://ru.ru-skazki.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Hatnote/doc&amp;diff=4838&amp;oldid=prev"/>
		<updated>2023-06-11T12:08:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Docpage}}{{Рейтинг модуля|protected}}&lt;br /&gt;
{{Используйте песочницу|testcases-other=Шаблон:Основная статья/тесты}}&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>ru&gt;Andras</name></author>
	</entry>
</feed>