Модуль:Check for unknown parameters/doc: различия между версиями

Материал из Народные сказки
Перейти к навигации Перейти к поиску
(Новая страница: «Этот модуль может быть добавлен в шаблоны для проверки использования неизвестных параметров. Самый простой способ использовать его — поставить в начало шаблона {{t|cfup|s}}{{переход|#Упрощённое задание}}. Обратите внимание, что статьи добавятся в категори...»)
 
Нет описания правки
Строка 24: Строка 24:
Здесь <code>arg1</code>, <code>arg2</code>, …, <code>argN</code> — известные параметры. Неименованные параметры также могут быть перечислены: <code><nowiki>|1|2|argname1|argname2|...</nowiki></code>. Любой используемый параметр, не входящий в этот список, заставит модуль вернуть то, что передано в параметре <code>unknown</code>. Ключевое слово <code>_VALUE_</code> будет заменено на название параметра. Это может быть полезным как для сортировки страниц в категории, так и для отображения более понятной информации.
Здесь <code>arg1</code>, <code>arg2</code>, …, <code>argN</code> — известные параметры. Неименованные параметры также могут быть перечислены: <code><nowiki>|1|2|argname1|argname2|...</nowiki></code>. Любой используемый параметр, не входящий в этот список, заставит модуль вернуть то, что передано в параметре <code>unknown</code>. Ключевое слово <code>_VALUE_</code> будет заменено на название параметра. Это может быть полезным как для сортировки страниц в категории, так и для отображения более понятной информации.


По умолчанию модуль не различает объявленные пустые параметры и непустые параметры. Поэтому модуль сообщит как о {{para|foo|x}}, так и о {{para|foo}}, если их нет в списке. Для того, чтобы отслеживать только непустые параметры, используйте {{para|ignoreblank|1}}.
По умолчанию модуль не различает объявленные пустые параметры и непустые параметры. Поэтому модуль сообщит как о {{Para|foo|x}}, так и о {{Para|foo}}, если их нет в списке. Для того, чтобы отслеживать только непустые параметры, используйте {{Para|ignoreblank|1}}.


По умолчанию модуль игнорирует пустые неименованные параметры. То есть {{para|2}} будет проигнорирован, даже если его нет в списке. Для включения пустых неименованных параметров используйте {{para|showblankpositional|1}}.
По умолчанию модуль игнорирует пустые неименованные параметры. То есть {{Para|2}} будет проигнорирован, даже если его нет в списке. Для включения пустых неименованных параметров используйте {{Para|showblankpositional|1}}.


=== Паттерны Lua ===
=== Паттерны Lua ===
Строка 48: Строка 48:
</pre>
</pre>


Автоматически перечисляет параметры, находя в коде страницы, на которую подставляется, фрагменты вида <code><nowiki>{{{param</nowiki></code> (в том числе закомментированные). Параметры {{para|ignoreblank}}, {{para|preview}}, {{para|showblankpositional}} можно указать тут же, они перекинутся при подстановке. <!-- Пока ещё не поддерживает translude|npc, хотя несложно допилить -->
Автоматически перечисляет параметры, находя в коде страницы, на которую подставляется, фрагменты вида <code><nowiki>{{{param</nowiki></code> (в том числе закомментированные). Параметры {{Para|ignoreblank}}, {{Para|preview}}, {{Para|showblankpositional}} можно указать тут же, они перекинутся при подстановке. <!-- Пока ещё не поддерживает translude|npc, хотя несложно допилить -->


=== Шаблоны-предупреждения ===
=== Шаблоны-предупреждения ===
{{установлена проверка на неизвестные параметры|nocat=1}}
{{установлена проверка на неизвестные параметры|nocat=1}}
Существует шаблон-предупреждение {{t|установлена проверка на неизвестные параметры}}, показывающий категорию, в которую включаются статьи с неизвестными параметрами (задаётся параметром {{para|категория}}, по умолчанию - ''Страницы с неизвестными параметрами шаблона {{t|PAGENAME}}'').
Существует шаблон-предупреждение {{t|установлена проверка на неизвестные параметры}}, показывающий категорию, в которую включаются статьи с неизвестными параметрами (задаётся параметром {{Para|категория}}, по умолчанию - ''Страницы с неизвестными параметрами шаблона {{t|PAGENAME}}'').


Шаблон-предупреждение также добавляет шаблон в категорию [[Категория:Википедия:Неизвестные параметры шаблонов|Википедия:Неизвестные параметры шаблонов]]. <!-- Неудачно, что он стоит вне /doc -->
Шаблон-предупреждение также добавляет шаблон в категорию [[Категория:Википедия:Неизвестные параметры шаблонов|Википедия:Неизвестные параметры шаблонов]]. <!-- Неудачно, что он стоит вне /doc -->
Строка 75: Строка 75:
</pre>
</pre>


Параметр {{para|noambox|1}} подставит только вторую часть, без шаблона-предупреждения. <!-- К сожалению, технические ограничения на модули Lua (импорт параметров только из одного родительского фрейма) не позволяют спрятать этот код в шаблон. -->
Параметр {{Para|noambox|1}} подставит только вторую часть, без шаблона-предупреждения. <!-- К сожалению, технические ограничения на модули Lua (импорт параметров только из одного родительского фрейма) не позволяют спрятать этот код в шаблон. -->


== Пример ==
== Пример ==

Версия от 01:53, 9 мая 2023

Этот модуль может быть добавлен в шаблоны для проверки использования неизвестных параметров. Самый простой способ использовать его — поставить в начало шаблона Шаблон:tШаблон:переход. Обратите внимание, что статьи добавятся в категорию не сразу из-за кэширования.

Использование

Базовое использование

{{#invoke:check for unknown parameters|check
|unknown=[[Категория:Какая-то отслеживающая категория]]
|arg1|arg2|...|argN}}

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

{{#invoke:check for unknown parameters|check
|unknown=[[Категория:Какая-то отслеживающая категория|_VALUE_]]
|preview=Неизвестный параметр «_VALUE_»
|arg1|arg2|...|argN}}

или, для заметного красного сообщения об ошибке:

{{#invoke:check for unknown parameters|check
|unknown=<span class="error">Извините, я не распознал _VALUE_</span>
|arg1|arg2|...|argN}}

Здесь arg1, arg2, …, argN — известные параметры. Неименованные параметры также могут быть перечислены: |1|2|argname1|argname2|.... Любой используемый параметр, не входящий в этот список, заставит модуль вернуть то, что передано в параметре unknown. Ключевое слово _VALUE_ будет заменено на название параметра. Это может быть полезным как для сортировки страниц в категории, так и для отображения более понятной информации.

По умолчанию модуль не различает объявленные пустые параметры и непустые параметры. Поэтому модуль сообщит как о |foo = x, так и о |foo =, если их нет в списке. Для того, чтобы отслеживать только непустые параметры, используйте |ignoreblank = 1.

По умолчанию модуль игнорирует пустые неименованные параметры. То есть |2 = будет проигнорирован, даже если его нет в списке. Для включения пустых неименованных параметров используйте |showblankpositional = 1.

Паттерны Lua

Модуль поддерживает паттерны Lua (схожие с регулярными выражениями), которые могут быть полезными, когда есть много известных параметров, названных по одной системе. Например, код

| regexp1 = header[%d][%d]*
| regexp2 = label[%d][%d]*
| regexp3 = data[%d][%d]*[abc]?
| regexp4 = class[%d][%d]*[abc]?
| regexp5 = rowclass[%d][%d]*
| regexp6 = rowstyle[%d][%d]*
| regexp7 = rowcellstyle[%d][%d]*

сработает на всех параметрах из headerNUM, labelNUM, dataNUM, dataNUMa, dataNUMb, dataNUMc, …, rowcellstyleNUM, где NUM — строка цифр.

Генератор параметров

{{subst:#invoke:check for unknown parameters|generate
|unknown=[[Категория:Какая-то отслеживающая категория]]
|{{subst:NAMESPACE}}|{{subst:PAGENAME}}}}

Автоматически перечисляет параметры, находя в коде страницы, на которую подставляется, фрагменты вида {{{param (в том числе закомментированные). Параметры |ignoreblank =, |preview =, |showblankpositional = можно указать тут же, они перекинутся при подстановке.

Шаблоны-предупреждения

Шаблон:установлена проверка на неизвестные параметры Существует шаблон-предупреждение Шаблон:t, показывающий категорию, в которую включаются статьи с неизвестными параметрами (задаётся параметром |категория =, по умолчанию - Страницы с неизвестными параметрами шаблона Шаблон:t).

Шаблон-предупреждение также добавляет шаблон в категорию.

Шаблон:категория с неизвестными параметрами Также существует шаблон Шаблон:tp, который можно поставить на автоматически добавляемую категорию.

Шаблон-предупреждение также добавляет шаблон в надкатегорию

Упрощённое задание

Генератор параметровШаблон:переход и шаблон-предупреждениеШаблон:переход можно вставить в статью одной правкой, добавив в начало шаблона подстановочный шаблон Шаблон:t.

В результате в коде шаблона появится что-то вроде

<noinclude>{{Установлена проверка на неизвестные параметры}}</noinclude><!--
--><includeonly>{{#invoke:check for unknown parameters|check
|unknown=[[Категория:Страницы с неизвестными параметрами шаблона Что-то непонятное с бантиком|_VALUE_]]
|ignoreblank=
|preview=<span class="error">Неизвестный параметр «_VALUE_» шаблона Что-то непонятное с бантиком</span>
|showblankpositional=
|nocat|что-то|непонятное|бантик|котик|пёсик}}</includeonly>

Параметр |noambox = 1 подставит только вторую часть, без шаблона-предупреждения.

Пример

{{Карточка
| вверху = {{{name|}}}

| метка1 = Height
| текст = {{{height|}}}

| метка2 = Weight
| текст2 = {{{weight|}}}

| метка3 = Website
| текст3 = {{{website|}}}
}}<!-- 
  конец карточки, начало отслеживания
-->{{#invoke:Check for unknown parameters|check
| unknown = {{#if:{{NAMESPACE}}||[[Категория:Какая-то отслеживающая категория|_VALUE_]]}}
| preview = Неизвестный параметр «_VALUE_»
| name
| height | weight
| website
}}