Template:赤リンク別表示
本テンプレートは現在、連続表示時にブラウザ環境によっては改行されないというバグが報告されているため、修復が終わるまで使用を控えてください。 |
Template:赤リンク別表示はリンク先の存在を判別して青リンクと赤リンクで表示に(色以外の)差異を設けるためのテンプレートです。リンク自体を変更するものではありません。テンプレート内での使用を想定し、複数のリンクに対して同時に設定することもできます。
基本的な使い方
編集引数に記事名を指定することで記事名への内部リンクを生成します。
- パイプ付きリンクのように、表示するリンク文字列を、リンク先が存在する場合とそうでない場合で別個に指定できます。最初は赤リンクでも、記事が作られたら表示が変わります(subst展開した場合は除く)。
- なお、パイプ付きリンクのパラメータが無いか空の時は記事名をそのまま表示します。何も表示しないような指定はできませんが、引数に半角で と記述すれば半角スペースを指定できるので、それに近い状態にはできます。
{{赤リンク別表示
| 記事名 | 存在時のリンク名 | 存在しないときのリンク名
}} ↑この場所で改行して記述しないでください。
- リンクが存在しないときの表示イメージ
- 存在しないときのリンク名
- リンクが作られた後の表示イメージ
- 存在時のリンク名
- 変数r1およびr2の指定により赤リンク、変数b1およびb2の指定により青リンクを囲うタグを別個に指定できます。
- これらにより赤リンク時と青リンク時で文字の大きさや字体を変えることができます。
{{赤リンク別表示
|r1=<span style="font-size:60%">
|r2=</span>
|b1='''
|b2='''
|記事名}} ←縦棒でなくとも、記事名の直後では改行できません。
- リンクが存在しないときに小さく表示(イメージ)
- 記事名
- リンクが作られた後は太字に表示(イメージ)
- 記事名
テンプレート内の複数リンクに対する使用
編集- 記事毎に引数を3つずつ繰り返すことにより、複数のリンクを区切り文字を挟んで続けて表示できます。主としてTemplate:Navboxで使います。最大50個までリンクを同時に記述できます。これにより前述の「文字の大きさ」や「字体」の赤/青リンク別指定を、複数のリンクに対して同時に適用させることができます。
- 区切り文字は変数 d の指定により変更できます。スペースを含める場合は半角で「&nbsp;」と記述してください。
- 応用として、本テンプレートを{{Nowrap begin}}と{{Nowrap end}}で囲い、区切り文字に {{・wrap}}、{{•wrap}}、{{-wrap}}、{{!wrap}} などを指定することもできるようです(ただし変数r1/r2/b1/b2が正常に動作しない可能性があります)。
- 応用として、本テンプレートを表の中で使った場合、区切り文字に {{!!}} を使って横一列のセルをまとめて記述することもできるようです。
- 51個目のリンク指定(151番目の引数)があった場合はそれに応じた区切り文字のみが末尾に表示されますので、本テンプレートを繰り返し用いることで繋げて表示することもできます。
{{赤リンク別表示 |記事名1|| ←パイプ付きリンク用の縦棒を経れば、改行して記述できます。 |記事名2|| |記事名3|| ・ ・ ・ |記事名9|| |r1=<span style="font-size:60%"> |r2=</span> |d=&nbsp;&#45;&nbsp; }} ↑ 「&#45;」は半角マイナス(ハイフンマイナス)です。
- Navbox内でハイフン区切り・赤リンクだけを小さく表示させたときのイメージ
- 実際の使用例
- 赤リンクの表示を簡略化
- 変数 r に単純な文字(「・」など)を指定すれば、赤リンクの記事名と赤リンク同士の区切り文字を省略し、その文字で代用してリンクします。これにより既に作成されている記事名だけを表示して、全体表示を簡略化できます。
- 主としてシリーズの順番が確定している記事群で、記事名の表示を省略しても分かるような場合のための機能です。
- 当然ですが、その場合でもマウスカーソルをポイントしたときのステータスバーの表示やポップアップメッセージでリンク先の記事名を確認できます(ただしMediaWiki1.17では条件によってポップアップメッセージは表示されない場合があるようです)。
- 赤リンク間にも区切り文字を表示したい場合は変数 rd で別途指定します。この変数は赤リンクのみを省略表示している場合にだけ機能します。
{{赤リンク別表示|記事名1|||記事名2||| 〜 |||記事名9|r=・}} ↑ ↑ 改行して記述しない場合はパイプ記号3つおきに記事名を記述する。
- Navbox内で赤リンクを省略表示したときのイメージ
- 実際の使用例
- (注) リンク数が50件を超えるため、テンプレートを3回繰り返し使っています。
- 簡略表示によるリンク状況の一覧マップ
- 変数 h で指定した文字で青リンクも含めたすべてのリンクを簡略表示できます。
- 区切り文字も省略されますが、変数 d の指定があればそちらを使います。
- この場合も変数 r の指定があれば赤リンクはそちらで表示します。ただし変数 rd は使用できません。
- これにより指定したリンク先の作成(削除)状況がごく単純なマップ状に表示できます。大量に存在するようなシリーズ記事において未作成リンクの作成(削除)状況を一目で確認できます。
- この場合も、記事名の確認にはマウスカーソルをポイントしたときのステータスバーの表示やポップアップメッセージを使うことになります。
:{{赤リンク別表示|記事名1-1||| 〜 |||記事名1-20|r=×|h=○}} :{{赤リンク別表示|記事名2-1||| 〜 |||記事名2-20|r=×|h=○}} ・ ・ :{{赤リンク別表示|記事名5-1||| 〜 |||記事名5-20|r=×|h=○}}
- 20記事ずつ5行表示したときのイメージ
- ○×××××××××××××××××××
- ×××××××××○××××××××××
- ××××××××××××××××××××
- ××××××××○○○×××××××××
- ×××××××××××○○×○○○○○○
- 実際の使用例 (表を使用し、区切り文字に d={{!!}} を指定)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
---|---|---|---|---|---|---|---|---|---|---|
1950年代 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
1960年代 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
1970年代 | ○ | ○ | ○ | ○ | ○ | × | × | × | × | × |
1980年代 | ○ | × | × | × | × | × | × | × | × | × |
1990年代 | × | × | × | × | × | × | × | × | × | × |
2000年代 | × | × | × | × | × | × | × | × | × | × |
2010年代 | ○ | × | × | × | × | × | × | × | × | × |
変数リファレンス
編集- 基本的な引数
第1引数 - リンクする記事名1を指定。これを省略すると表示されない。改行不可。 第2引数 - 記事名1が存在するとき表示するリンク文字列を個別に指定できる。省略可。 第3引数 - 記事名1が存在しないとき表示するリンク文字列を個別に指定できる。省略可。 第4-6引数 - 記事名2に対して引数1-3と同様。以下、引数3つおきに同じ。 最大50記事名(150引数)まで有効。 第151引数 - 仮想的に51番目の記事名と見なし、50番目のリンクの後に区切り文字を付ける。
- 文字飾りに関する変数
b1 = 青リンクを囲う左側のタグ指定。必ずb2と併用する。 b2 = 青リンクを囲う右側のタグ指定。必ずb1と併用する。
r1 = 赤リンクを囲う左側のタグ指定。必ずr2と併用する。 r2 = 赤リンクを囲う右側のタグ指定。必ずr1と併用する。
h = 指定した文字列ですべてのリンクを同じに表示する。 第2・3引数より優先され、区切り文字も略される。 r = 赤リンクだけを、指定した文字列で同じに表示する。 第3引数や変数 h よりも優先され、区切り文字も略される。
- 区切り文字に関する変数
d = 区切り文字の指定。デフォルトは「|」(全角の縦棒)。 ただし変数 h 設定時はデフォルトで区切り文字を表示しない。 rd = 赤リンク簡易表示時の、赤リンク間の区切り文字指定。 変数 r 設定時のみ有効。ただし変数 h 指定時は無効。
その他の注意事項
編集- 記述の際、記事名の部分に改行を入れないでください。記事名の直後の引数は改行せず続けて記述します。それ以外の部分は変数ごとに改行して記述できます。
- リンク先がリダイレクトの場合はリダイレクト先が無くても記事は存在扱いとして表示されます。
- テンプレートは使用回数に制限があります(Help:テンプレートの制限)。本テンプレートは記事名を1件指定するたびにExpensive parser function countを1つ消費します。これは1ページあたり最大500回に制限されている要素ですので、1記事内で本テンプレートを何回使っても表示できるリンク数は合計500件が限界となります。実際には記事内で他のテンプレートも使われているでしょうから、それより少ない数になります。したがって最初からほとんど青リンクの個所(グループ)には使用しないほうが無難です。また、赤リンクが少なくなってきたら念のため本テンプレートの適用を止め、リソースを開放しておくとよいでしょう。
- 本テンプレートは大量の赤リンクを同時処理することを想定しているため、一度に50個ものリンクを指定できるように作ってあります。しかしこれは多いようで意外に少ないものです。たとえばスペースシャトルの宇宙飛行全135回を記したテンプレートを記述するには、3回繰り返す必要があります。
- しかし一括して記述できる数を増やすと、そのぶんテンプレートのページサイズが大きくなってしまいます。そうなると逆に少しずつ記述して繰り返し用いた場合に、呼び出した回数だけテンプレートが読み込まれる点で無駄が多くなります。そのため本テンプレートは最大50件に制限することで約18KBほどにサイズを抑えました。それでも、ダイヤルアップ接続などの遅い回線でテキストのみ閲覧されるような方には負担となるかもしれません(例えば実効速度9600bps程度の環境では毎秒約1KBしか読み込めません)。
- そのため容量削減のための試行錯誤がなされており、盛り込めなかった機能がいくつかあります。変数 r とは逆の機能(青リンクを簡略化して赤リンクのみ表示)が無いのもそのためです。
- 区切り記号(変更可能)も、本来なら半角の「&nbsp;&%124;&nbsp;(スペースを挟んだパイプ記号)」をデフォルトにすべきでしたが、特に繰り返し記述される部分であるため、代用として全角の縦棒(|)をデフォルトにして記述量を減らしています。
- さらに変数名を1、2文字に短縮しています。そのため直感的に分かりにくい変数名になっていますが、以下のように略したつもりですので、よろしければ参考にしてください。
- d - divide (区切る)
- h - hide (隠す)
- r、r1、r2 - red link
- b1、b2 - blue link
このテンプレートの意味
編集赤リンクには記事の執筆を促す等の意味があります。しかし赤リンクばかりのテンプレートを作っても利便性が悪いですから、そのようなテンプレートはむやみに作るものではありません。それでも、明確にシリーズ化されている記事群においては赤リンクを含めてすべてを列挙したい場合もあるでしょう。特にシリーズの個別記事が充実した英語版から導入された記事では、関連テンプレートを導入すると未執筆記事の赤リンクが大量に発生する場合があります。こうした場合は将来的に赤リンクが執筆・翻訳される可能性があり、テンプレートそのものは有用かもしれません。
しかしテンプレートが成立するだけの有効なリンク数が確保できたとしても、それ以上に赤リンクが多く残るテンプレートでは、有効なリンクを探しにくいという点で利便性が悪いことに変わりはありません。
一つの手としてパイプ付きリンクで赤リンクを目立たなく表示することも考えられます。とはいえ、記事が作られる(または削除される)たびにパイプ付きリンクを修正するのでは手間がかかります。
そこで本テンプレートでは記事の有無を調べて自動的に青リンク時と赤リンク時の表示に差異を持たせて表示させることを目的としました。引数の指定次第で青リンクと赤リンクそれぞれを控えめに表示することも目立たせることも可能です。
なお、Template:仮リンクのようなインターウィキ機能はありませんので、その場合は関連テンプレートなどを参考に、最適なテンプレートをお探しください。
関連テンプレート
編集- Template:仮リンク: 日本語版にリンク先が存在しない時に、外国語版へのリンクを作ります。
- {{autolink}}: 似たテンプレートですが、赤リンクは作らず、普通の文字が表示されます。記事の中で使うテンプレートではありません。
- Template:日本語版にない記事リンク
- Template:Interlang