Руководство:Пространство имён
Пространство имён (namespace) — совокупность страниц с определённым префиксом, которые служат одной и той же цели. Пространства имён существуют для разграничения различных типов информации в одном и том же вики-проекте, а также для отделения основного содержания проекта от страниц участников, справочных страниц, и т.д.
The namespace prefix of a page forms part of the title of a page, separated with a colon (:
).
Технический обзор
Любая страница находится в каком-либо пространстве имён, каждое из которых определяется по его префиксу в названии, за которым следует двоеточие (:
).
Например:
Название | Пространство | Код |
---|---|---|
Foo |
Main | 0 |
Template:Foo |
Template | 10 |
Module:Foo |
Module | 828 |
Т.н. «основное» пространство имён не имеет префикса. И названия страниц, находящихся в этом пространстве, не могут начинаться с одного из существующих префиксов пространств имён, оканчивающихся двоеточием.
Страницы могут быть перемещены между пространствами имен простым изменением префикса их заголовка.
Префиксы обычно переводятся на язык интерфейса проекта, и для каждого из них могут быть настроены синонимы (см. $wgNamespaceAliases
). Также во всех проектах работают «канонические» (стандартные английские) имена пространств. Синонимы и канонические имена могут использоваться в ссылкаx на страницы, при поиске, а также в заголовке страницы с помощью волшебного слова {{DISPLAYTITLE}}.
Каждое пространство имён имеет свой номер. В базе данных заголовок каждой страницы разделяется на номер пространства и название страницы, и сохраняется в столбцах page.page_namespace
и page.page_title
.
Деление пространств имён на тематические и дискуссионные
- См. Справка:Страницы обсуждений с инструкциями об использовании страниц обсуждений.
Для большинства пространств имён есть связанные пространства обсуждений.
Все пространства обсуждений соответствуют нечётным индексам, для пространства имён с индексом n пространство имён обсуждения будет иметь индекс n+1.
Пространства имён с чётными индексами называются обычными пространствами (обратите внимание на отличия с содержательными пространствами имён).
Основная страница и страница обсуждения могут быть связаны с помощью волшебных слов {{SUBJECTPAGENAME}}
и {{TALKPAGENAME}}
.
Тэг <body>
на страницах в пространствах имён обсуждений содержит класс CSS ns-talk
, что может быть полезно при оформлении.
Встроенные пространства имён
В поставку MediaWiki входят 18 стандартных пространств имён:
- 16 «реальных» пространств, связанных с существующими вики-страницами, нумеруются от 0 до 15, и сгруппированных в пары «тема/обсуждение»
- 2 «виртуальных» пространства имён (одно для динамически создаваемых служебных страниц, а второе — для прямых ссылок на медиафайлы) имеют отрицательные номера -1 и -2. В них нельзя создавать, удалять или редактировать страницы, и у них нет пространств обсуждений.
Полный список представлен в таблице ниже.
ID | Имя | Назначение | Обсуждение | |
---|---|---|---|---|
0 | (Main) | «Настоящие» статьи .[1] | Talk | 1 |
2 | User | Страницы участников .[2] | User talk | 3 |
4 | Project | Информация о вики-проекте[3] | Project talk | 5 |
6 | File | Страницы описания медиафайлов | File talk | 7 |
8 | MediaWiki | Настройка интерфейса проекта[4] | MediaWiki talk | 9 |
10 | Template | Страницы-шаблоны | Template talk | 11 |
12 | Help | Страницы справки | Help talk | 13 |
14 | Category | Страницы описания категорий | Category talk | 15 |
-1 | Special | для служебных страниц | N/A | |
-2 | Media | для прямых ссылок на медиафайлы |
У каждого пространства имён есть константа, получаемая из его имени, где все буквы прописные, пробелы заменены подчёркиваниями и начинающаяся с NS_. Например, константа для "User talk" будет NS_USER_TALK. Полный список констант можно найти в NS_
.
For example, the constant for the "User talk" namespace is NS_USER_TALK
.
A complete list can be found in Руководство:Константы пространств имён .
- ↑ Страницы основного содержания проекта, не имеют префикса.
- ↑ Редактирование страницы обсуждения участника приводит к появлению уведомления для этого участника.
- ↑ Префикс определяется значением переменной
$wgMetaNamespace
; если это не перенастроено явно, значение по умолчанию идентично значению$wgSitename
. - ↑ По умолчанию защищено; его могут редактировать только участники с правами 'editinterface'.Некоторые страницы в этом пространстве имён также требуют для редактирования дополнительно прав
editsitecss
иeditesitejs
.
Дополнительные пространства имён
В MediaWiki можно добавлять дополнительные пространства имён для группировки любых дополнительных классов страниц. Обзор этой функциональности см. на странице Руководство:Использование собственных пространств имён .
Функциональность
Некоторые пространства имён, такие как «Project» и «Help», существуют только для удобства и не имеют никакой особой функциональности по сравнению с основным пространством имён («(Основное)»).
Страницы из пространства имён «Template» могут быть включёнными в другие страницы без использования префикса.
Страницы в пространстве имён «User» связаны с учетными записями участников или IP-адресами (для анонимных участников). При любом изменении на персональной странице обсуждения участника генерируется автоматическое уведомление.
Страницы в пространстве имён «MediaWiki» используются для переопределения установленных по-умолчанию сообщений языкового файла и могут быть изменены только администратором или другими участниками, имеющими права 'editinterface'.
Страницы описаний файлов и категорий имеют специальные функции, рассмотренные в справочных разделах Справка:Управление файлами и Справка:Категории . Страницы категорий могут быть перенесены (переименованы) участниками с правом «movefile». Страницы категорий могут быть переименованы участниками с правом «move-categorypages».
Все страницы в пространствах имён обсуждений имеют дополнительную функцию «добавления комментария» (см. Help:Section#Adding a section at the end в Мета-вики).
См. также
- Справка:Пространства имён – user-oriented information.
- Extension default namespaces
Site administration
- Manual:Параметры настройки#Пространства имён
- Руководство:Константы пространств имён
- Руководство:Использование собственных пространств имён
- Manual:Help namespace
Extensions
- Категория:Расширения пространства имён
- Extension:NamespaceManager – for management of namespaces.
- Extension:BlueSpiceNamespaceManager – lets you create custom namespaces.
- Extension:SpecialNamespaces – a modified version of the Extension:Interwiki which changes it to provide a namespace manager as a special page.
- Расширение:Lockdown – to control access to namespaces.
- Extension:SkinPerNamespace – to use a different skin in a namespace.
For extension developers
- Руководство:Использование собственных пространств имён
- List of custom namespaces registered by extensions . If you define a constant for a custom namespace, list it here, too.
- Classes
- * Manual:MWNamespace.php , содержащий класс MWNamespace
- Help:Namespace в Мета-вики (удалено в 1.39)
- Hooks
- Manual:Hooks/CanonicalNamespaces – add custom namespaces or alter the defaults.
- Manual:Hooks/NamespaceIsMovable – determine if it is possible to move pages in a namespace.
- Manual:Hooks/SearchableNamespaces – modify which namespaces are searchable.
- Manual:Hooks/LanguageGetNamespaces – provide custom ordering for namespaces or remove namespaces.
- Manual:Hooks/PrefixSearchExtractNamespace – called if core was not able to extract a namespace from the search string so that extensions can attempt it.