Шаблон:Namespace detect/doc: различия между версиями
(Полностью удалено содержимое страницы) Метки: очистка отменено |
Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
{{docpage}} | |||
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --> | |||
Этот мета-шаблон предназначен для определения типа страницы по имени пространства. | |||
Шаблон определяет и разделяет все [[Wikixw:Пространство имён|пространства]] страниц используемые в Википедии на несколько типов: | |||
:'''<code>main</code>''' = основное/пространство статей, в котором располагаются обычные статьи Википедии. | |||
:'''<code>talk</code>''' = любые пространства обсуждения страниц, начинающиеся со слов «Обсуждение:», «Обсуждение участника:», «Обсуждение файла:» и т.п. | |||
:'''<code>user, wikipedia, file, mediawiki, template, help, category</code>''' и '''<code>portal</code>''' = другие пространства кроме пространств обсуждения. | |||
:'''<code>other</code>''' = любые пространства не указанные в параметре шаблона. См. пояснение ниже. | |||
Для обратной совместимости этот шаблон понимает старое имя '''<code>image</code>''' (изображение) для пространства '''<code>file</code>''' (файл). Однако использовать '''<code>image</code>''' теперь нежелательно. | |||
'''Внимание!''' В большинстве случаев лучше использовать более простые шаблоны определения пространств страниц (смотри раздел [[#См. также|См. также]] ниже), так как этот шаблон более уязвим к таким человеческим ошибкам, как описки в имени параметров. | |||
=== Использование === | |||
Этот шаблон принимает один или более параметров названных ниже, которые задают типы страниц перечисленные выше. Например: | |||
<pre> | |||
{{namespace detect | |||
| main = текст в статье | |||
| talk = текст на странице обсуждения | |||
| other = текст на остальных страницах | |||
}} | |||
</pre> | |||
Если шаблон будет вызван в статье, находящейся в основном пространстве, он вернёт следующее: | |||
:{{namespace detect| demospace=main | |||
| main = текст в статье | |||
| talk = текст на странице обсуждения | |||
| other = текст на остальных страницах | |||
}} | |||
Если шаблон будет вызван на любой другой странице, кроме статьи или страницы обсуждения, он вернёт: | |||
:{{namespace detect | |||
| main = текст в статье | |||
| talk = текст на странице обсуждения | |||
| other = текст на остальных страницах | |||
}} | |||
Примеры выше обязательно что-то вернут на любом типе страниц, но если мы не будем задавать параметр '''<code>other</code>''' или оставим его пустым, то ничего не вернётся на остальных страниц. Например: | |||
<pre> | |||
{{namespace detect | |||
| file = текст на странице описания файла | |||
| category = текст на странице категории | |||
| other = | |||
}} | |||
</pre> | |||
На любых страницах, кроме страниц описания файлов и страниц категорий шаблон ничего не отобразит. | |||
<!-- Не убирайте этот пример. Он ничего не отображает, но нужен для целей тестирования. --> | |||
:{{namespace detect | |||
| file = текст на странице описания файла | |||
| category = текст на странице категории | |||
| other = | |||
}} | |||
Используя пустое значение параметра можно указать, чтобы шаблон ничего не отображал на указанном типе страниц. Например: | |||
<pre> | |||
{{namespace detect | |||
| main = | |||
| other = текст на остальных страницах | |||
}} | |||
</pre> | |||
Код выше ничего не отобразит в статье, но вернёт следующее на остальных страницах: | |||
:{{namespace detect | |||
| main = | |||
| other = текст на остальных страницах | |||
}} | |||
=== Параметры demospace и page === | |||
Для проверки и демонстрации работы шаблон обрабатывает два параметра '''<code>demospace</code>''' (демо-пространство) и '''<code>page</code>''' (страница). | |||
Параметр <code>demospace</code> может принимать любое значение типа страницы которое используемое в шаблоне, включая тип '''<code>other</code>'''. Он указывает шаблону вести себя так, так бы он вёл себя будучи вызван на указанном типе страниц. Например: | |||
<pre> | |||
{{namespace detect | |||
| main = текст в статье | |||
| other = текст на остальных страницах | |||
| demospace = main | |||
}} | |||
</pre> | |||
Не важно на каком типе странице вы поместите код, указанный выше он всегда вернёт: | |||
:{{namespace detect | |||
| main = текст в статье | |||
| other = текст на остальных страницах | |||
| demospace = main | |||
}} | |||
В отличие от него параметр <code>page</code> задаёт имя страницы, которое заставляет шаблон вести себя именно так, как если бы он был помещён на указанной в нём странице, которая не обязательно должна существовать на самом деле. Например: | |||
<pre> | |||
{{namespace detect | |||
| user = текст на личной странице пользователя | |||
| other = текст на остальных страницах | |||
| page = Участник:Например | |||
}} | |||
</pre> | |||
Не важно на каком типе страниц будет помещён пример, указанный выше, он всегда вернёт: | |||
:{{namespace detect | |||
| user = текст на личной странице пользователя | |||
| other = текст на остальных страницах | |||
| page = Участник:Например | |||
}} | |||
С помощью параметров <code>page</code> и <code>demospace</code> удобно демонстрировать различное поведение вашего шаблона если он использует шаблон {{tl|namespace detect}}. Для этого их нужно поддержать в вызывающем шаблоне и передать в {{tl|namespace detect}} следующим образом: | |||
<pre> | |||
{{namespace detect | |||
| main = текст в статье | |||
| other = текст на остальных страницах | |||
| demospace = {{{demospace|}}} | |||
| page = {{{page|}}} | |||
}} | |||
</pre> | |||
Если оба параметра '''<code>demospace</code>''' и '''<code>page</code>''' пусты или не заданы, то шаблон будет определять тип страницы как обычно. | |||
=== Параметры === | |||
Список всех параметров: | |||
<pre> | |||
{{namespace detect | |||
| main = | |||
... | |||
| other = | |||
| demospace = {{{demospace|}}} / main / talk / user / | |||
wikipedia / file / mediawiki / template / | |||
help / category / portal / other | |||
| page = {{{page|}}} / Участник:Например | |||
}} | |||
</pre> | |||
Примечание: Пустые значения параметров для "main" ... "portal" имеют специальное назначение. | |||
=== Технические детали === | |||
Пространство «Image» (Изображение) было переименовано в «File» (Файл) 11 декабря 2008 года. Этот шаблон обновлён и понимает оба эти названия, как это было раньше. Для обратной совместимости шаблон корректно обрабатывает название «image», как в названии параметра «image = страница описания файла», так и значении параметра «demospace = image». | |||
Если вы намереваетесь передавать таблицы в значениях параметров в этот шаблон, вам необходимо учесть: | |||
[[Wikixw:Механизм шаблонов|Механизм шаблонов]] не позволяет передавать символ разделителя параметров «<code>|</code>» внутри значений параметров, если только он не используется внутри другого шаблона <code><nowiki>{{name|param1}}</nowiki></code> или не является разделителем в ссылке <code><nowiki>[[Wikixw:Механизм шаблонов|помощь]]</nowiki></code>. Поэтому в шаблон нельзя передавать [[Wikixw:Оформление таблиц|таблицы]] в викиразметке в значениях параметров, если только вы не делаете это безопасным способом используя шаблон {{tl|!}} вместо «<code>|</code>». Чтобы избежать этих сложностей лучше использовать HTML разметку для таблиц, что более продуктивно. | |||
== См. также == | |||
* {{tl|main other}} | |||
* {{tl|talk other}} | |||
* {{tl|user other}} | |||
* {{tl|template other}} | |||
* {{tl|category other}} | |||
<includeonly> | |||
<!-- CATEGORIES AND INTERWIKIS HERE, THANKS --> | |||
[[Категория:Шаблоны:Для шаблонов]] | |||
</includeonly> |
Текущая версия от 20:44, 28 июня 2023
Этот мета-шаблон предназначен для определения типа страницы по имени пространства.
Шаблон определяет и разделяет все пространства страниц используемые в Википедии на несколько типов:
main
= основное/пространство статей, в котором располагаются обычные статьи Википедии.talk
= любые пространства обсуждения страниц, начинающиеся со слов «Обсуждение:», «Обсуждение участника:», «Обсуждение файла:» и т.п.user, wikipedia, file, mediawiki, template, help, category
иportal
= другие пространства кроме пространств обсуждения.other
= любые пространства не указанные в параметре шаблона. См. пояснение ниже.
Для обратной совместимости этот шаблон понимает старое имя image
(изображение) для пространства file
(файл). Однако использовать image
теперь нежелательно.
Внимание! В большинстве случаев лучше использовать более простые шаблоны определения пространств страниц (смотри раздел См. также ниже), так как этот шаблон более уязвим к таким человеческим ошибкам, как описки в имени параметров.
Использование[править]
Этот шаблон принимает один или более параметров названных ниже, которые задают типы страниц перечисленные выше. Например:
{{namespace detect | main = текст в статье | talk = текст на странице обсуждения | other = текст на остальных страницах }}
Если шаблон будет вызван в статье, находящейся в основном пространстве, он вернёт следующее:
- текст в статье
Если шаблон будет вызван на любой другой странице, кроме статьи или страницы обсуждения, он вернёт:
- текст на остальных страницах
Примеры выше обязательно что-то вернут на любом типе страниц, но если мы не будем задавать параметр other
или оставим его пустым, то ничего не вернётся на остальных страниц. Например:
{{namespace detect | file = текст на странице описания файла | category = текст на странице категории | other = }}
На любых страницах, кроме страниц описания файлов и страниц категорий шаблон ничего не отобразит.
Используя пустое значение параметра можно указать, чтобы шаблон ничего не отображал на указанном типе страниц. Например:
{{namespace detect | main = | other = текст на остальных страницах }}
Код выше ничего не отобразит в статье, но вернёт следующее на остальных страницах:
- текст на остальных страницах
Параметры demospace и page[править]
Для проверки и демонстрации работы шаблон обрабатывает два параметра demospace
(демо-пространство) и page
(страница).
Параметр demospace
может принимать любое значение типа страницы которое используемое в шаблоне, включая тип other
. Он указывает шаблону вести себя так, так бы он вёл себя будучи вызван на указанном типе страниц. Например:
{{namespace detect | main = текст в статье | other = текст на остальных страницах | demospace = main }}
Не важно на каком типе странице вы поместите код, указанный выше он всегда вернёт:
- текст в статье
В отличие от него параметр page
задаёт имя страницы, которое заставляет шаблон вести себя именно так, как если бы он был помещён на указанной в нём странице, которая не обязательно должна существовать на самом деле. Например:
{{namespace detect | user = текст на личной странице пользователя | other = текст на остальных страницах | page = Участник:Например }}
Не важно на каком типе страниц будет помещён пример, указанный выше, он всегда вернёт:
- текст на остальных страницах
С помощью параметров page
и demospace
удобно демонстрировать различное поведение вашего шаблона если он использует шаблон {{namespace detect}}. Для этого их нужно поддержать в вызывающем шаблоне и передать в {{namespace detect}} следующим образом:
{{namespace detect | main = текст в статье | other = текст на остальных страницах | demospace = {{{demospace|}}} | page = {{{page|}}} }}
Если оба параметра demospace
и page
пусты или не заданы, то шаблон будет определять тип страницы как обычно.
Параметры[править]
Список всех параметров:
{{namespace detect | main = ... | other = | demospace = {{{demospace|}}} / main / talk / user / wikipedia / file / mediawiki / template / help / category / portal / other | page = {{{page|}}} / Участник:Например }}
Примечание: Пустые значения параметров для "main" ... "portal" имеют специальное назначение.
Технические детали[править]
Пространство «Image» (Изображение) было переименовано в «File» (Файл) 11 декабря 2008 года. Этот шаблон обновлён и понимает оба эти названия, как это было раньше. Для обратной совместимости шаблон корректно обрабатывает название «image», как в названии параметра «image = страница описания файла», так и значении параметра «demospace = image».
Если вы намереваетесь передавать таблицы в значениях параметров в этот шаблон, вам необходимо учесть:
Механизм шаблонов не позволяет передавать символ разделителя параметров «|
» внутри значений параметров, если только он не используется внутри другого шаблона {{name|param1}}
или не является разделителем в ссылке [[Wikixw:Механизм шаблонов|помощь]]
. Поэтому в шаблон нельзя передавать таблицы в викиразметке в значениях параметров, если только вы не делаете это безопасным способом используя шаблон {{!}} вместо «|
». Чтобы избежать этих сложностей лучше использовать HTML разметку для таблиц, что более продуктивно.
См. также[править]
- {{main other}}
- {{talk other}}
- {{user other}}
- {{template other}}
- {{category other}}