Manual:名前空間
名前空間は、同じ目的で使用することを意図したページの集合体です。また、名前空間は同じウィキ内にさまざまな種類の情報を格納するための区切りとも見なすことができ、記事のコンテンツを利用者のプロフィールやヘルプページなどと区別して格納できるようにします。
ページの名前空間接頭辞はページ名の一部分を形成し、コロン (:
)で区切られています。
技術的な概要
ページは名前空間内に属しています。その名前空間は、ページ名の中のコロン (:
) で区切られた部分である名前空間接頭辞で分かります。
例:
ページ名 | 名前空間 | コード |
---|---|---|
Foo |
Main | 0 |
Template:Foo |
Template | 10 |
Module:Foo |
Module | 828 |
「標準名前空間」には接頭辞がありません。また、ウィキ内に存在する名前空間接頭辞と半角コロン(:
)を付けた文字列で始まるページ名を標準名前空間として作成することはできません。
ページ名の一部である接頭辞を変更するだけで、名前空間を跨いでページを移動させることができます。
名前空間接頭辞は各言語に翻訳できます。また、名前空間には「別名」を設定することもできます (詳細は $wgNamespaceAliases
を参照)。名前空間には全て「標準名」があり、これは設定にかかわらずすべてのウィキにおいて機能します。別名と標準名は、リンクを設けるときや検索を行うとき、ページ名を{{DISPLAYTITLE}} マジックワードを利用して整形する時に機能します。
あらゆる名前空間は名前空間番号を持っています。データベース内では、ページ名は名前空間番号とページ名の文字列に分割され、それぞれ page.page_namespace
カラムと page.page_title
カラムに格納されています。
メインの名前空間とトーク名前空間
- トークページの利用方法の説明については、Help:トークページ を参照してください。
メディアページと特別ページ以外の名前空間には議論名前空間(トークページ)があります。
トークページの番号は全てメインの名前空間の番号に1を足した数で、全て奇数になっています。
番号が偶数の整数なら主題名前空間です(注記:コンテンツ名前空間と混同しないでください)。
主題と議論の双対は {{SUBJECTPAGENAME}}
及び {{TALKPAGENAME}}
のマジックワードを使って探索できます。
<body>
タグが付いたトークページ名前空間は CSS クラスが ns-talk
になり、書式設定に役立つはずです。
組み込みの名前空間
MediaWiki には 18 個の組み込みの名前空間があります:
- うち16個が「真の名前空間」で、番号は0~15が割り振られています。記事とトークページがペアになって存在します。
- 残りの2個が「仮想名前空間」で、番号は-1と-2が割り振られています。それぞれ動的に生成された特殊なページと、ファイルへ直接繋がるリンクを生成するための別名として設けられました。これらの名前空間のページはデータベースに格納されている訳ではないので、トークページもなく、新たに作成したり削除したりもできません。
完全な一覧を以下の表に示します。
ID | 名前 | 目的 | トーク | |
---|---|---|---|---|
0 | (Main) | "Real" content articles .[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
です。
完全な一覧は Manual:名前空間の定数 にまとめてあります。
- ↑ 標準名前空間には接頭辞がありません。
- ↑ 利用者のトークページを編集すると、その利用者に通知されます。
- ↑ 手動で設定しない限り
$wgMetaNamespace
で定義されます。既定値は$wgSitename
です。 - ↑ 'editinterface' 権限を持つ利用者のみが編集できます。Some pages in this namespace additionally require
editsitecss
andeditesitejs
permissions.
カスタム名前空間
拡張機能およびサイト管理者は、ページを分類するための追加的な名前空間を定義できます。 概要については、Manual:カスタム名前空間の使用方法 を参照してください。
機能
Project や Help など一部の名前空間は、利便性のみのために存在しており、標準名前空間と比較しても追加的な機能はありません。
テンプレート名前空間のページは、参照読み込みの際に名前空間接頭辞を省略できます。
利用者名前空間のページは、利用者アカウントまたは IP アドレスと関連付けられます。利用者のトークページを変更すると、その利用者に自動的にメッセージで通知されます。
MediaWiki名前空間のページは言語ファイルにある標準のインターフェイスやメッセージを上書きすることができます。この名前空間は管理者とeditinterface権限を持つ利用者のみが編集できます。
カテゴリ名前空間とファイル名前空間のページは他の名前空間とは違った機能を持っています (詳細は Help:ファイルの管理 と Help:カテゴリ を参照)。 ファイルを移動できるのは「movefile」権限を持つ利用者です。 カテゴリ ページを移動できるのは「move-categorypages」権限を持つ利用者です。
議論名前空間のすべてのページには「コメントを投稿する」機能があります。
関連項目
- Help:名前空間 – user-oriented information.
サイト管理
拡張機能
- カテゴリ:名前空間の拡張機能
- 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.
- Extension:Lockdown – to control access to namespaces.
- Extension:SkinPerNamespace – to use a different skin in a namespace.
拡張機能の開発者向け
- Manual:カスタム名前空間の使用方法
- List of custom namespaces registered by extensions . If you define a constant for a custom namespace, list it here, too.
- クラス
- Manual:MWNamespace.php 、MWNamespaceクラスを含む (1.39 で除去)
- フック
- 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.