ヘルプ:サブページ
サブページとは、MediaWikiの機能で、スラッシュ (/) を使って複数ページの間にツリー構造を作る機能です。ページA/b はページA の子ページになり、逆にページA はページA/b の親ページになります。さらに、ページA/b/c はページA/b の子ページであり、A/a、A/b、A/c は兄弟ページとなります。
サブページはしばしば、議論の過去ログを作る際に使われます。
ウィキペディア日本語版では、百科事典の記事(標準名前空間)ではサブページを作ることはできません。"A/b"というページは単にそういう名前のページであり、"A"のサブページではありません。詳しくは#有効な名前空間をご覧下さい。
機能
サブページには次のような特徴があります。
上の世代への自動リンク
サブページには、上の世代へのリンクが、一番上の親まで自動的にページ冒頭に表示されます。例えば、「Help:サブページ/これはサブページです」は、このページに自動的にリンクしています。
このリンクは親ページがたとえ存在していなくても表示されますが、続けて上の世代のページがないと、リンクの表示が停止します(祖父ページがなければ、親ページも表示されない)。
リンク元と関連ページの更新状況ではこれらの自動リンクは無視されます。
相対リンク
サブページの階層内では、次の相対リンクを使うことができます。
-
[[../]]
は現在のサブページの親にリンクする。すなわち、A/b では A にリンクし、A/b/c では A/b にリンクする。 -
[[../../]]
は現在のサブページの祖父ページにリンクする。すなわち、A/b/c では Aにリンクする。 -
[[../s]]
は現在のページの兄弟にリンクする。すなわち、A/bではA/sにリンクする。 -
[[../../s]]
は現在のページの「おじ」ページにリンクする。すなわち、A/b/cではA/sにリンクする。 -
[[/s]]
はサブページにリンクする。すなわち、A では[[A/s]]
と同じ。 このため、サブページ機能が有効な名前空間から、標準名前空間にあるスラッシュからはじまるページ名のページにリンクするときには、冒頭にコロン (:) を追加する必要があります。 -
[[/s/]]
は[[/s|s]]
と同じ。 -
[[../#Sec]]
は親ページのアンカーにリンクする。すなわち、A/bではA#Secにリンクする。 -
[[/s#Sec]]
はサブページのアンカーにリンクする。すなわち、AではA/s#Secにリンクする。 -
[[../../#Sec]]
、[[../s#Sec]]
、[[../../s#Sec]]
なども、同様にリンクする。 -
{{../}}
は親ページを読み込む。すなわち、A/bではAが読み込まれる。 -
{{/s}}
はサブページを読み込む。すなわち、AではA/sが読み込まれる。 -
{{../../}}
、{{../s}}
、{{../../s}}
なども、同様にリンク先のページを読み込む。
例えば、このページで [[/これはサブページです]]
とすると、「Help:サブページ/これはサブページです」へのリンクになります(実際に入力した例: /これはサブページです)。
「Help:サブページ/これはサブページです」で [[../]]
とすると、このページにリンクします(リンク先で確認してみてください)。
相対リンクは{{fullurl:}}
では正しく使えません。例えば {{fullurl:../}}
は「../」をページ名とするページのURLを返そうとします。
ページを移動する際には、子ページもみなあわせて同じルートの下に移動すれば、相対リンクはそのまま機能します。
マジックワード
テンプレート:Main
サブページ機能が有効な名前空間Aに、A:B/c/dというページがあったとすると、{{BASEPAGENAME}}
は B/c を {{SUBPAGENAME}}
は d を返します。
作成方法
サブページを作成する簡単な方法は、そのサブページを作りたい親ページで「/」ではじまる名前のリンク([[/サブページ名]]
)を作成することです。また、親ページを表示している状態で、ブラウザのアドレスバーを利用してURLの末尾に直接 /サブページ名
を追加しても作成することができます。同様の手順でサブページのサブページを作ることもできます。
なお、サブページ名の最初の文字は、大文字と小文字が区別されます (case-sensitive)。"/subpage" と "/Subpage" は別のページになります。また、名前空間を除く親ページ名を含むページ名全体の長さは、255バイトまでに制限されています。
サブページの一覧の作り方
テンプレートテンプレート:Tlを使うと、簡単にサブページ一覧を作れます。たとえば、以下にテンプレート:Tlと書けば、このページのサブページ一覧が作られます:
(枠線は見易くするためにつけたもので、本来はありません) テンプレート:Subpages
親ページを指定するにはテンプレート:Tlpとします。
元々は、この機能は特別ページにより提供されます。例えば、このページ(Help:サブページ)のサブページ一覧へのリンクを作成するには、[[Special:Prefixindex/Help:サブページ/]]
と書きます。
テンプレートタグ(つまり{{}})を使えば、テンプレート:Tl同様、ページ内に呼び出すことも出来ます。
{{Special:Prefixindex/Help:サブページ/}}
:
(枠線は付きません)
リダイレクトページは一覧で灰色で表示されます。これを除外したい場合はhideredirects=1
というオプションをつけてください。
{{Special:Prefixindex/Help:サブページ/|hideredirects=1}}
有効な名前空間
ウィキペディア日本語版では、標準名前空間 (百科事典の記事)以外の名前空間においてのみ、この機能を使えます。サブページを作成できる名前空間は http://ja.wikipedia.org/w/api.php?action=query&meta=siteinfo&siprop=namespaces にて確認できます。具体的には以下の通りです。
- 全ての名前空間におけるノートページ(会話用名前空間):過去ログ化などに使用されます。
- 利用者ページ("利用者" 名前空間)
- "Wikipedia" 名前空間
- "Help" 名前空間
- "Portal" 名前空間
- "Template"名前空間
- "プロジェクト"名前空間
- "Module"名前空間
サブページはかつて、記事の分野別階層を作るために使用されていましたが、2004年中頃からはカテゴリシステムが採用され、複数の分野に属する記事の階層的整理も可能となり、サブページをこのような目的に使う必要はなくなりました。また同名異義語の棲み分けについても、現在は曖昧さ回避のシステムが採用されており、サブページを使う必要はありません。一方でTCP/IPのように、タイトルにスラッシュを含む記事があり、このようなページ名ではサブページ機能が有効だと不都合が生じます(この例だと、TCPという親ページのIPというサブページと認識されてしまう)。このため、標準名前空間ではサブページの機能を使えなくなっています。たとえページ名にスラッシュ「/」を加えても、単にスラッシュが含まれる項目名(ページ名)としてしか認識されず、上で述べたようなサブページの機能は働きません。
なお、MediaWikiソフトウェアの設定で、サブページ作成を許可および禁止する名前空間を任意に設定することができます。そのため、例えばウィキブックスでは記事名前空間であってもサブページを作成できます。これは DefaultSettings.php で設定されています。バージョン1.21以降、以下の名前空間は既定値によってサブページが有効になっています。Special, Main talk, User and User_talk, Meta_talk, Image_talk。プロジェクトごとの設定は、 mw:LocalSettings.php で設定されています。mw:Manual:$wgNamespacesWithSubpagesを参照のこと。