Руководство:Пространство имён
Пространство имён (namespace) — совокупность страниц, имеющих схожую цель. Пространства имён можно рассматривать как разделение информации внутри вики на различные типы, отделяющее «реальный» контент (страницы об основной тематике вики) от страниц участников, справочных страниц и т. д.
«Префикс» пространства имён — это первая часть названия страницы (если оно есть), указывающая, к какому пространству имён она относится. Он отделяется от остальной части названия двоеточием (:). Так называемое «основное пространство имён» не имеет префикса.
Каждое пространство имён имеет «номер» или «индекс», который программное обеспечение MediaWiki использует для обращения к этому пространству имён вместо его названия.
Технический обзор
Каждая страница в вики имеет уникальное название, которое может начинаться с префикса пространства имён или нет. В остальном страницы в разных пространствах имён могут иметь одинаковые названия (то есть без учёта их префиксов).
Например,здесь на MediaWiki.org:
| Название | Пространство | Код | Описание страницы |
|---|---|---|---|
API
|
0 | страница в «основном пространстве имён» | |
Template:API
|
Template | 10 | шаблон, который может быть включён в другие страницы |
Manual:API
|
Manual | 100 | страница в нашем руководстве MediaWiki (которая в данном случае перенаправляет на другую страницу) |
Поскольку у «основного пространства имён» нет префикса, любое название страницы без префикса — или любая страница, чей видимый префикс не совпадает ни с одним распознанным пространством имён в вики (а также ни с одним интервики/языковым префиксом), — интерпретируется как страница в основном пространстве имён.
Обратите внимание, что страницы в основном пространстве имён не могут иметь названий, начинающихся с префикса любого существующего пространства имён с последующим двоеточием, так как такие страницы стали бы недоступны из-за наличия этого самого пространства имён. (Если это произошло в результате создания нового пространства имён, для решения проблемы можно использовать скрипт обслуживания namespaceDupes.php.)
Страницы могут быть перемещены между пространствами имен простым изменением префикса их заголовка.
Префиксы обычно переводятся на язык интерфейса проекта, и для каждого из них могут быть настроены синонимы (полезные для создания сокращений) (см. $wgNamespaceAliases).
Все пространства имён также имеют «канонический» префикс, который работает во всех вики-проектах независимо от их конфигурации.
Псевдонимы и канонические названия могут использоваться в ссылках, при выполнении поиска, а также в заголовке страницы с помощью волшебного слова {{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_.
Например, константа для пространства имён "Обсуждение пользователя" равна NS_USER_TALK.
Полный список можно найти в Extension default namespaces.
- ↑ Страницы основного содержания проекта, не имеют префикса.
- ↑ Редактирование страницы обсуждения участника приводит к появлению уведомления для этого участника.
- ↑ Префикс определяется значением переменной
$wgMetaNamespace; если это не перенастроено явно, значение по умолчанию идентично значению$wgSitename. - ↑ По умолчанию защищено; его могут редактировать только участники с правами 'editinterface'.Некоторые страницы в этом пространстве имён также требуют для редактирования дополнительно прав
editsitecssиeditesitejs.
Дополнительные пространства имён
В MediaWiki можно добавлять дополнительные пространства имён для группировки любых дополнительных классов страниц. Обзор этой функциональности см. на странице Руководство:Использование собственных пространств имён.
Функциональность
Некоторые пространства имён, такие как «Project» и «Help», существуют только для удобства и не имеют никакой особой функциональности по сравнению с основным пространством имён («(Основное)»).
Страницы из пространства имён «Template» могут быть включёнными в другие страницы без использования префикса.
Страницы в пространстве имён «User» связаны с учетными записями участников или IP-адресами (для анонимных участников). При любом изменении на персональной странице обсуждения участника генерируется автоматическое уведомление.
Страницы в пространстве имён «MediaWiki» используются для переопределения установленных по-умолчанию сообщений языкового файла и могут быть изменены только администратором или другими участниками, имеющими права 'editinterface'.
Страницы описаний файлов и категорий имеют специальные функции, рассмотренные в справочных разделах Справка:Управление файлами и Справка:Категории. Страницы категорий могут быть перенесены (переименованы) участниками с правом «movefile». Страницы категорий могут быть переименованы участниками с правом «move-categorypages».
Все страницы в пространствах имён обсуждений имеют дополнительную функцию «добавления комментария».
См. также
- Помощь:Пространства имён – информация, ориентированная на пользователя.
- Extension default namespaces
Администрирование сайта
- Manual:Параметры настройки#Пространства имён
- Руководство:Константы пространств имён
- Руководство:Использование собственных пространств имён
- Manual:Help namespace
Расширения
- Категория:Расширения пространства имён
- Extension:NamespaceManager – для управления пространствами имен.
- Extension:BlueSpiceNamespaceManager – позволяет создавать пользовательские пространства имен.
- Extension:SpecialNamespaces – модифицированная версия Расширение:Interwiki, которая изменяет её для предоставления менеджера пространств имён в виде специальной страницы.
- Расширение:Lockdown – для управления доступом к пространствам имён.
- Extension:SkinPerNamespace – для использования другого оформления в пространстве имён.
Для разработчиков расширений
- Руководство:Использование собственных пространств имён
- Список пользовательских пространств имён, зарегистрированных расширениями:. Если вы определяете константу для пользовательского пространства имён, также укажите её здесь.
- Классы
- Manual:MWNamespace.php, содержащий класс MWNamespace (удалено в 1.39)
- Хуки
- Manual:Hooks/CanonicalNamespaces – добавляйте пользовательские пространства имён или изменяйте стандартные.
- Manual:Hooks/NamespaceIsMovable – определите, возможно ли перемещать страницы в пространстве имён.
- Manual:Hooks/SearchableNamespaces – изменяйте список пространств имён, доступных для поиска.
- Manual:Hooks/LanguageGetNamespaces – настраивайте пользовательский порядок пространств имён или удаляйте пространства имён.
- Manual:Hooks/PrefixSearchExtractNamespace – вызывается, если ядро не смогло извлечь пространство имён из поисковой строки, чтобы это могли попытаться сделать расширения.