Wikipedia:テンプレートに関する編集の仕方
出典: フリー百科事典『ウィキペディア(Wikipedia)』
この文書は、テンプレートの利用と作成ないしあるページを別のページに埋め込む方法に関して、ウィキペディアの編集の仕方を説明する文書です。
目次 |
[編集] テンプレートとは
テンプレートとは、ウィキペディアにおいて、定型文の入力を簡便にするなどのために用いられる仕組みです。個々のテンプレートの実体は、他のページと同じような独立した個々のページです。
[編集] テンプレートの利用
既成のテンプレートを利用するには、次のように書き込みます。
{{テンプレート名}}
{{PAGENAME}}
のような、変数(システム変数)と呼ばれるものも、テンプレートと同じ書き方ですが、テンプレートではなく、また引数を取りません。また、主としてテンプレート中で使われる {{#....}}
のように、{{#
で始まっているものは、条件文と呼ばれる別のものです。テンプレートによっては次のようになります。
{{テンプレート名|引数1|引数2|.....}}
または
{{テンプレート名|テンプレート変数1=引数1|テンプレート変数2=引数2|.....}}
この場合、引数の部分は状況によって自由に変化させることができます。実際にどのように書き込むかは、Wikipedia:Template メッセージの一覧やその関連ページの説明をご覧ください。
- Wikipedia:Template メッセージの一覧やその関連ページに紹介されていない場合にはテンプレートを開いてみてください。そのページに使い方が書いてあるかもしれません。また、そのページを編集状態にしてみると、そこに書かれているかもしれません。あるいは、ノートページに使い方が書かれていることもあります。
{{テンプレート名|引数1|引数2|.....}}
の書き方は、引数の中に=
が含まれているとうまく動作しません。この場合は、{{テンプレート名|1=引数1|2=引数2|.....}}のように、該当する引数の前に数字と=
を入れてください。数字は、引数の「番目」の数です。
[編集] テンプレートで完全に置き換えてしまう
subst:
を用いるように最初から設計してあるテンプレート以外のページを subst:
で読み込む場合には、著作権 (GFDL) に十分気をつける必要があります。通常、テンプレートは、「テンプレートをそこで読み込む(呼び出す)」という指示が {{テンプレート名}}
の形で置かれるのですから、閲覧のたびにその時点でのテンプレートの状態が埋め込まれます(テンプレートが更新されれば、そのテンプレートを呼び出しているページにも変更が反映されます)。しかしそれでは不便なこともあります。そこで、テンプレートを貼ったとき(編集したとき)にテンプレートの内容をそのままコピーさせる方法があります。
{{subst:テンプレート名....}}
このように subst:
を {{
とテンプレート名の間に挟んで、「投稿する」をクリックすると、次に編集画面を開いたときにはもう上の {{subst:テンプレート名}}
は消えてなくなり、テンプレートの内容に置き換わっています。subst:
を使うかどうかはおおむねテンプレートごとに決まっていますから、それぞれのテンプレートの説明をお読みください。基本的には、テンプレートの内容を常に反映し続けたい場合は subst:
せず、逆にその時点でのテンプレート内容のみが欲しい場合は subst:
することになります。
[編集] テンプレートのソースを表示する
通常あまり使うことはありませんが、テンプレートの説明をするようなとき、テンプレートのソースをそのまま(nowikiで)表示させたいことがあります。この場合には、
{{msgnw:テンプレート名}}
のように記入します。
テンプレート | 読み込み方 | 表示 |
---|---|---|
「Template:すけすけ」
たとえば[[メインページ]]で
|
{{すけすけ}}
|
たとえばメインページで |
{{msgnw:すけすけ}}
|
たとえば[[メインページ]]で |
[編集] テンプレートを開く
{{tl|テンプレート名}}
とすることで、テンプレートにリンクして{{テンプレート名}} と表示されます。将来的にテンプレート名が変わる予定がない場合は {{subst:tl|テンプレート名}}
とすることも検討してください。テンプレートは、他のページと同じような独立した1つのページですから、他のページと同じように開いて閲覧することができます。ただし、通常はページ名がTemplate:で始まっています。ですから、テンプレート名の前に Template:
を付ければそのページを開くことができます。また、テンプレートが現在埋め込まれているページであれば、そのページの編集時、ウィンドウの下に使われているテンプレートの一覧が表示されます(保護中のページを除く)。
- ときどき、テンプレート名が
:
で始まっているものがあります。この場合は、テンプレート名から:
を除いたものがページ名です。 - テンプレート名の途中に
:
が含まれている場合には、テンプレート名とページ名が同一であることがあります。
[編集] テンプレートの編集の仕方
テンプレートの編集は、通常のページと同じです。
もし、特別な仕掛けをしなければ、{{テンプレート名}}の代わりに表示される内容は、そのテンプレート名のページの中身全体と同じになります。たとえば、「Template:切符」の内容が
乗車券
であったならば、
{{切符}}
は
- 乗車券
のようになります。
[編集] 新しくテンプレートを作成する
新しいテンプレートを作成するには、通常のページの作成と同じように未執筆リンク(いわゆる赤リンク)から行います。一般に未執筆リンクは [[Template:新規テンプレート]]
のようにすると作成できますが、{{新規テンプレート}}
のようにすることでも作ることもできます。この場合、新規テンプレート名にふさわしいページ名への未執筆リンクとなります。
[編集] テンプレート変数
テンプレート変数は、テンプレートの中で {{{テンプレート変数名}}}
のように書き表します。すなわち、{{{テンプレート変数名}}}
は、他のページから埋め込まれるとき、そのページに指定した引数に変化します。テンプレート変数のあるテンプレートの呼び出しは、
{{テンプレート名|テンプレート変数1=引数1|テンプレート変数2=引数2|.....}}
でした。ですから、たとえば「Template:経路a」というテンプレートが
{{{発駅}}}から{{{着駅}}}まで
のとき、このテンプレートを
{{経路a|発駅=名古屋|着駅=新大阪}}
のように呼び出すと、「名古屋」がテンプレート変数 {{{発駅}}}
に、「新大阪」がテンプレート変数 {{{着駅名}}}
にはいります。したがって、これは
- 名古屋から新大阪まで
のようになります。
また、「Template:経路b」というテンプレートが
{{{1}}}から{{{2}}}まで
のとき、このテンプレートを
{{経路b|名古屋|新大阪}}
のように呼び出すと、「名古屋」がテンプレート変数 {{{1}}}
に、「新大阪」がテンプレート変数 {{{2}}}
にはいります。つまり、
{{経路b|1=名古屋|2=新大阪}}
のように呼び出すのと全く同じです。したがってこれは
- 名古屋から新大阪まで
となります。
[編集] デフォルト
|
の右側に何も書かないことで、引数が指定されなかった場合に、対応する変数自体を表示しないようにするというものです。たとえば、テンプレートのソースに {{{変数1}}}
と書いた場合、呼び出すときに {{{変数1}}}
に対応する引数を指定しないと、{{{変数1}}}
と表示されてしまいますが、ソースを {{{変数1|}}}
としておけば、この部分には何も表示されません。埋め込んだページで引数が指定されていないときには、{{{テンプレート変数名}}}がそのまま表示されることになります。それをふせぐため、引数が指定されていない場合の動作を指定することができます (m:Parameter default)。これには |
を使い、
{{{テンプレート変数名|デフォルト}}}
のようにします。たとえば「Template:経路a」を
{{{発駅|東京}}}から{{{着駅|博多}}}まで
のように、「Template:経路b」を
{{{1|東京}}}から{{{2|博多}}}まで
に変更すると、次のようになります。
テンプレートの内容 | 読み込み方 | 表示 |
---|---|---|
「Template:経路a」
{{発駅|東京}}}から{{{着駅|博多}}}まで
|
{{経路a|発駅=名古屋|着駅=新大阪}}
|
名古屋から新大阪まで |
{{経路a|発駅=名古屋}}
|
名古屋から博多まで | |
{{経路a|着駅=新大阪}}
|
東京から新大阪まで | |
{{経路a}}
|
東京から博多まで | |
「Template:経路b」
{{1|東京}}}から{{{2|博多}}}まで
|
{{経路b|名古屋|新大阪}}
|
名古屋から新大阪まで |
{{経路b|名古屋}}
|
名古屋から博多まで | |
{{経路b|新大阪}}
|
新大阪から博多まで | |
{{経路b}}
|
東京から博多まで |
[編集] テンプレート冒頭の特殊文字
テンプレートが、: ; * #
のいずれかで始まっているとき、それは行頭にあると見なされ、インデント、箇条書きと見なされます。それを避けるためには、: ; * #
などを <nowiki> </nowiki>
で囲むか文字参照を使ってください。
[編集] 一部を無視させる
他のページから呼ばれたときに無視する部分を指定したり、他のページから呼ばれたとき以外は無視する部分を指定したりすることができます。
[編集] <noinclude>
テンプレートのある部分を <noinclude>
と </noinclude>
で挟むと、その部分は他のページから呼び出したときに取り除かれます。たとえば、「Template:内弁慶」が
彼は<noinclude>家ではいばっているが外では</noinclude>なよなよしている。
の場合、「Template:内弁慶」を開くと
- 彼は家ではいばっているが外ではなよなよしている。
と表示されますが、他のページから
{{内弁慶}}
のように呼び出された場合には、
- 彼はなよなよしている。
とだけ表示されます。
[編集] <onlyinclude>
<noinclude>
と同じ用途のものに、<onlyinclude>
があります。これは <noinclude>
とは逆に、他のページから呼び出されたときに <onlyinclude>
と </onlyinclude>
の間だけ返して他は無視します。たとえば「Template:居留守」が
電話がかかってきたら<onlyinclude>いない</onlyinclude>って言って。
だったならば、「Template:居留守」を開くと、
- 電話がかかってきたらいないって言って。
と表示されますが、他のページから
{{居留守}}
のように呼び出された場合に、
- いない
とだけ表示されます。
[編集] <noinclude>と<onlyinclude>の用途
<noinclude>
の直前に改行を入れると、テンプレートを呼び出したページにおいて表示が崩れる原因となることがあります。<noinclude>
と <onlyinclude>
は、次のような用途で使われます。
- テンプレートの説明を書く。(テンプレートの説明は、他のページから呼び出されたときには伏せられます。)
- テンプレートのカテゴリを書く。(テンプレートのページだけがカテゴリに加えられる。他の場合には、テンプレートを貼ったすべてのページが同じカテゴリに加えられることになります。)
- 多言語間リンクを書く。(カテゴリと同じ理由です。)
[編集] <includeonly>
先の2つと逆の用途のものが、<includeonly>
です。これは、<includeonly>
と </includeonly>
に挟まれた部分が他のページから読み出されたときだけ有効で、そのページ(テンプレート)を直接読んだときには無視される、というものです。たとえば、「Template:へそくり」が
貯金は1万円<includeonly>だけどほかにスイスに1億フラン</includeonly>あります。
の場合、「Template:へそくり」を開くと
- 貯金は1万円あります。
ですが、
{{へそくり}}
のように呼び出された場合には
- 貯金は1万円だけどほかにスイスに1億フランあります。
となります。
テンプレートを貼ったページをあるカテゴリに入れたいが、テンプレートそのものはそのカテゴリに入れたくない、というような場合によく使われます。たとえば、削除依頼テンプレートの削除カテゴリなどです。
[編集] Template以外の名前空間の呼び出し方
テンプレートのページ名が通常は Template:
で始まる、というのは、言い換えると、テンプレートは通常Template名前空間に作られる、という意味です。
テンプレートは、Template:名前空間に作られるべきですが、時にそれ以外の必要が出ることがあります。ここでは、そのような場合の呼び出し方を一覧にしておきます。
名前空間 | ページ名の例 | 呼び出し方 |
---|---|---|
Template | Template:固有名 |
{{固有名}}
|
通常名前空間 | 固有名 |
{{:固有名}}
|
その他 | 名前空間名:固有名 |
{{名前空間名:固有名}}
|
通常名前空間(普通の記事)を読み込む場合、{{
のあとに :
が必要なことに気をつけてください。
[編集] システム変数
テンプレートの中に {{PAGENAME}}
などのシステム変数を書いて、他のページから呼び出した場合には、呼び出している側のページにあるものとして認識されます。たとえば、「Template:子分」に
{{PAGENAME}}
と書いて保存し、このテンプレートをページ「親分」において
{{子分}}
のように呼び出した場合には、呼び出した側のページ名である「親分」が表示されます。
時刻などのシステム変数を、テンプレートに置くと、常に閲覧した時点のものが表示されます。テンプレートを貼った時点に固定するには、テンプレートの中で {{<includeonly>subst:</includeonly>CURRENTTIME}}
のようにし、このテンプレートをさらに subst:
で呼び出します。
[編集] 自己リンク
通常、[[リンク先]]
とするとリンクが作成されますが、このリンク先にそのページ名を入れると、自己リンクを避けるため、リンクではなくただの太字になります。テンプレートを呼び出した場合にも、テンプレート内に呼び出しした側のページへのリンクが含まれていると、自己リンクを防ぐため、リンクではなくただの太字になります。たとえば、「Template:C」に
[[D]] - [[E]] - [[F]]
とあったとき、ページ「D」から
{{C}}
として呼び出した場合には、
のように表示されます。ただし、リンク先がリダイレクトの場合には、自己リンクの解決は行われません。
[編集] リンク元とカテゴリ
テンプレートを書き換えれば、テンプレートを呼び出したページの表示が変化します。しかし、次の例外があります。
- テンプレート内に書かれたリンクは、テンプレートを呼び出したページにあるリンクと同じです。従って、リンク先ページの「リンク元」をクリックすると、そのテンプレートのページとテンプレートを呼び出したページの両方が表示されます。しかし、テンプレートのリンク先を追加、削除、変更しても、テンプレートを呼び出したページについては「リンク元」にすぐには反映しません。
- テンプレート内に書かれたカテゴリは、テンプレートを呼び出したページにあるカテゴリと同じです。従って、カテゴリページには、テンプレートのページとそのテンプレートを呼び出したページの両方が表示されます。しかし、テンプレートのカテゴリを追加、削除、変更しても、テンプレートを呼び出したページはカテゴリページにすぐには反映しません。
これを反映させるには、テンプレートを呼び出したページをいったん編集状態とし、「投稿する」ボタンを押す(カラ編集)必要があります。このとき、何も編集していなければ、テンプレートを呼び出したページの履歴にはなりませんが、それでもリンク元とカテゴリの更新は反映されます。Wikipedia:ツール/ナビゲーション・ポップアップには、個々のページやその編集画面を開くことなくカラ編集を行なう機能があります。
[編集] スペースの無視
テンプレート名の前後の半角スペース、タブ、改行はないものとして扱われます。またテンプレート変数が =
で指定されているとき、テンプレート変数や引数の前後の半角スペース、タブ、改行はないものとして扱われます。=
で指定されていないとき、引数の前後のスペースは無視されません。
長いテンプレートのソースは、
{{テンプレート名 |変数1={{{1}}} |変数2={{{2}}} |... }}
のように書くと読みやすくなります。
テンプレートの内容 | 読み込み方 | 表示 |
---|---|---|
「Template:経路b」
{{1|東京}}}から{{{2|博多}}}まで
|
{{経路b|1=名古屋|2=新大阪}}
|
名古屋から新大阪まで |
{{ 経路b | 1 = 名古屋 | 2 = 新大阪 }}
|
名古屋から新大阪まで | |
{{経路b|名古屋|新大阪}}
|
名古屋から新大阪まで | |
{{経路b|名古屋 | 新大阪}}
|
名古屋 から 新大阪まで |
[編集] 省略された変数名への数字の割り当て方
テンプレート変数を呼び出し側で省略すると、順に1から番号が振られます。この番号は最初から順に振られますが、=
のある部分には、番号を振る必要がありませんので、振られません。従って、
{{変数名|東=鳥海山|西=阿蘇山|秋田県|熊本県}}
は
{{変数名|東=鳥海山|西=阿蘇山|1=秋田県|2=熊本県}}
の意味となり、
{{変数名|秋田県|熊本県|東=鳥海山|西=阿蘇山}}
に等しくなります。
=
のない引数があるとき、まずそこに数字名のテンプレート変数が 1
から順に振られます。一方、同じテンプレート変数が複数ある時には、位置的に後にあるものが有効になります。従って、
{{変数名|東=鳥海山|西=阿蘇山|1=北海道|秋田県|熊本県}}
は、
{{変数名|東=鳥海山|西=阿蘇山|1=北海道|1=秋田県|2=熊本県}}
とみなされ、1=北海道|
の部分は無視されます。
[編集] 特殊な変数名
テンプレート変数を指定するとき、=
の前を空欄にすることもできます。これは長さ0の変数名と見なされ、{{{}}}
とある部分に置き換えられます。たとえば、
{{変数名|=
|A|B|C|=
|D|E|F|=
|G|H|I|=
}}
のように省略された変数名の番号を調整するためのダミーとして用いられます。この例では、A
が {{{1}}}
に、D
が {{{4}}}
にはいります。もし、ここでの =
がなければ、A
が {{{2}}}
に、D
が {{{6}}}
にはいることになります。
[編集] テンプレートの中でテンプレートを呼び出す
テンプレートの中でさらにテンプレートを呼び出すことができます。
テンプレート | テンプレート | 読み込み方 | 表示 | |
---|---|---|---|---|
単純な例 | 「Template:内々」
うえお
|
「Template:内」
い{{内々}}か
|
あ{{内}}き
|
あいうえおかき |
引数を受け渡す | 「Template:孫」
う{{{1}}}お
|
「Template:子」
い{{孫|{{{1}}}}}か
|
あ{{子|え}}き
|
あいうえおかき |
引数でテンプレート変数 を指定する |
「Template:部屋」
う{{{住所}}}お
|
「Template:家」
い{{部屋|{{{1}}}=え}}か
|
あ{{家|住所}}き
|
あいうえおかき |
引数でテンプレート名 を指定する |
「Template:皿」
うえお
|
「Template:盆」
い{{{{{1}}}}}か
|
あ{{盆|皿}}き
|
あいうえおかき |
テンプレートとして読み込んだ中に {{読み込んだテンプレート自身の名前}}
があるとさらには展開されず、そのまま文字として表示されます。たとえば「Template:ナルシスト」に
{{ナルシスト}}なの
として
{{ナルシスト}}です
と呼び出すと、
- {{ナルシスト}}なのです
と表示されます。なお、「Template:ナルシスト」自身を表示すると、一回は「Template:ナルシスト」を展開するため、
- {{ナルシスト}}なのなの
となります。
[編集] テンプレート名をテンプレートやシステム変数で指定する
テンプレート名をテンプレートやシステム変数で指定することは可能です。たとえば、
テンプレート | テンプレート | 読み込み方 | 表示 |
---|---|---|---|
「Template:おなまえ」
さいとう
|
「Template:欄」
おなまえ
|
{{ {{欄}} }}
|
さいとう |
「Template:不思議」
あれよあれよ
|
「不思議」
{{ {{PAGENAME}} }}
|
あれよあれよ |
このとき、4つの大括弧を左右とも {{{{欄}}}}
のように連続してしまうと、うまく働きません。少なくともどちらかを2つずつに分けてください。
[編集] テンプレートの中で条件文を使う
テンプレートの中で条件文を使うことができます。詳細はWikipedia:条件文をご覧ください。
[編集] 他のプロジェクトのテンプレート
他のプロジェクト(他言語版や姉妹プロジェクト)のテンプレートをそのまま読み込むことはできません。