Template:記事名の制約
2020年6月8日より、「記事名に使用できる文字」の規定が改訂されました。 新たにJIS X 0212・JIS X 0213・IBM拡張文字で規定されている文字が使用可能となりました(一部、使用できない文字がありますので、詳細はガイドラインを必ずご確認ください。) 議論は「Wikipedia:井戸端/subj/WP:NCにおけるJIS X 0208規定の撤廃について」を参照してください。 |
このテンプレートの記述は複雑な構成となっています。編集後の結果が予想できないか、または変更にともなう影響を修正する用意ができていない場合は編集をお控えください。練習や実験はテンプレートのサンドボックス・サブページ、テストケース・サブページもしくはあなた自身の利用者スペースのページでお願いします。 |
このテンプレートは2,000以上のページで使われています。 余計な混乱やサーバーへの負荷を避けるために、どんな変更でも最初はテンプレートのサンドボックス・サブページ、テストケース・サブページもしくはあなた自身の利用者スペースのページで試すべきです。そうすれば、試した変更を1度の編集でこのテンプレートに加えることができます。しかし、最初にあなたの提案した変更を、この項目のノートで議論するようにお願いします。 |
このページは更新が必要とされています。 このページには古い情報が掲載されています。編集の際に新しい情報を記事に反映させてください。反映後、このタグは除去してください。(2016年9月) |
このテンプレートは、様々な理由から名称の正確な表記がそのページの記事名として使えない、あるいは正しく表示できない文字(アンダースコアなど)を含む場合に使用します。この問題について詳しくは、Wikipedia:記事名の付け方やHelp:ページ名をご覧ください。
このテンプレートを使用すると、ウェブブラウザの「タイトル」バーの表示が変更されます。さらに、記事名と正確な表記の差異がアンダースコア(_)、上付き文字(歌手「Tommy february6」の"6"の部分)、下付き文字(水を意味する「H2O」の"2"の部分)のみの場合、記事名を正しい表記に置換させることができます。そのほかの記号などの場合はメッセージを表示させます。
1文字目をabcといった小文字で表示したいだけという目的には、Template:小文字を使用してください。
これを使用しても、記事の編集履歴などや、ウェブブラウザの「アドレス」バーでは置換されません。
使い方と注意
{{記事名の制約|(引数)}}または
{{記事名の制約|title=(引数)}}
- 「
(引数)
」の部分に名称の正しい表記(例:Shift JISではShift_JIS)を記述してください。引数で指定した表記がアンダースコアや上付き文字、下付き文字のタグを除く部分で本来の記事名と異っている場合は記事名の置換が動作せず、メッセージが表示されます。特に曖昧さ回避のための括弧を使用している場合は注意してください。 subst:
は使わずに出力させてください。- 前後に空行を入れないでください。
- 引数の一部として画像やTeX表記を使用する場合は注意が必要です。そのような場合、記事名の置換は起きませんが、タイトルバーの表示が意図しないものに変更されることがあります。これを防ぐために、次のセクションで説明する
disablerealtitle
パラメータを指定してください。
記事名 | 記述 | 結果 (メッセージの表示/非表示) |
---|---|---|
Tommy february6 (アルバム) | {{記事名の制約|Tommy february<sup>6</sup> (アルバム)}} |
非表示[注釈 1] |
H2O[注釈 2](非転送) | {{記事名の制約|H<sub>2</sub>O}}
| |
C Sharp | {{記事名の制約|C#}} |
表示 |
めちゃ×2イケてるッ! | {{記事名の制約|めちゃ<sup>2</sup>イケてるッ!}}
|
めちゃ×2イケてるッ!では引数に本来の記事名とは異なる部分(×を含んでいない)が存在していることによってメッセージが表示されます。
表示
実際の記事名と引数として指定した文字列の差異が、アンダースコアと半角スペースの違いや先頭1文字の大文字/小文字の違いのみの場合に、引数の文字列を記事名として表示します。さらに、JavaScriptが有効になっているウェブブラウザでは、差異が前述のものに加えて、フォントサイズ・上付き文字・下付き文字を指定するHTMLタグのみの場合、引数文字列が記事名として表示されます(詳細は次のセクションを参照)。
- ただし標準以外の名前空間(Category、Portalなど)で使った場合、:に次ぐ文字列で反映されます。またJavaScriptによる書き換え処理では、利用者名前空間に導入すると、利用者:がUser:の文字列に置換されるなど、名前空間部分を意図しないように書き換えてしまうことがあります。
上述の比較処理の結果として、またブラウザのJavaScriptが無効になっているために、記事名の書き換えが起こらない場合、以下のメッセージが表示されます。
disablerealtitle
パラメータを使用すると、このJavaScriptによる記事名の書き換え機能を無効にすることができます。{{記事名の制約|title=正確な記事名|disablerealtitle=yes}}などと記述してください。
技術的な解説
前のセクションで述べたように、記事名(およびタイトルバー)の書き換え機能は二重に実装されています。
第1段階は、MediaWikiのDISPLAYTITLE
マジックワードを利用しています。ここでは記事名の見出し(最初の<h1>要素)とタイトルバーの表示は常に同一です。
第2段階のJavaScriptによる処理はMediaWiki:Common.js (→プロジェクト:ウィキ技術部/共通スクリプト)にて実装されています。"Technical restrictions" title fix で始まるブロックを参照してください。(2016年9月に除去されています)以下は大まかな解説です。
前提
以下を全て満たす場合に動作します。
- id="RealTitleBanner"を持つ要素が存在する(通常、テンプレート全体を囲む<div>要素などに付く)
- id="RealTitle"を持つ要素が存在する(本来の名称を示す部分を<span>で囲み、このidを付ける)
- id="DisableRealTitle"を持つ要素が存在しない
- 真偽値 disableRealTitleが偽である(ユーザスクリプトで無効にするためのスイッチ)
動作
- id="RealTitle" とした要素の中身を(A)とし、(A)からHTML要素を除いたプレーンテキストを(B)とする。
- (B)をウィンドウのタイトルバーの表示に反映する。
- (B)の先頭を大文字に・アンダースコアをスペースに変換した文字列と、実際のシステム的な記事名のアンダースコアをスペースに変換した文字列が一致する場合、文書タイトル(最初の<h1>要素)が書き換わる。
- この際、(A)が"複雑"(sub, sup, small, big 以外のHTML要素がある場合)であれば、タイトルは(B)になり、そうでなければ(A)になる。
- タイトルが書き換わり、さらに(A)が "複雑" でなければ、 id="RealTitleBanner"とした要素(テンプレート全体)を非表示にする。
パラメータ
パラメータ | 指定する内容 | 既定値 | 説明 |
---|---|---|---|
title または 1 |
記事名の正確な表記 | なし | その記事の主題の正確な表記を記述してください。 |
disablerealtitle | JavaScript 処理を無効にするか | 処理は有効 | 前述 |
注釈
関連項目
- Wikipedia:記事名の付け方
- Wikipedia‐ノート:ウィキプロジェクト テンプレート/表示の制約に関する諸テンプレート
- {{小文字}} - 1文字目を小文字で表示したいのみの場合に使用する。
- {{統合文字}}
- {{しんにょう}}
- {{特殊文字}} - ページの記事名として言及されるもの以外については、こちらを使用して下さい。