Help:テンプレート
ウィキペディア日本語版のヘルプページです。
この文書は、テンプレートの利用と作成ないしあるページを別のページに埋め込む方法に関して、ウィキペディアの編集の仕方を説明するものです。
Wikipedia:テンプレートに、テンプレートに関する文書が紹介されています。
テンプレートとは
[編集]{{テンプレート名}
}
とするだけで、あらゆる名前空間にこのテンプレートを呼び出すことができます︵他の名前空間のページを読み込む方法については#Template名前空間以外のページの呼び出し方参照︶。
なお、テンプレートを使う際には、読み込めるページサイズに制限があります。詳しくはHelp:テンプレートの制限を参照してください。
テンプレートを使う
[編集]テンプレートを呼び出す
[編集]テンプレートをページ内に呼び出すには、次のように記述します。
{{テンプレート名}}
この{{テンプレート名}}
という書き方を、「テンプレートタグ」と呼んでいます。
例えばTemplate:最新の出来事というテンプレートについて考えてみましょう。ウィキページに{{最新の出来事}}
を挿入すると、このタグのあるすべての記事に以下のテキストが表示されます。
この記事は最新の出来事を扱っています。 |
{{テンプレート名|引数1|引数2|.....}}
の書き方は、引数の中に =
が含まれているとうまく動作しません。この場合は、
{{テンプレート名|1=引数1|2=引数2|.....}}
のように、該当する引数の前に数字と =
を入れてください。数字は、引数の﹁番目﹂の数です。
{{PAGENAME}}
のような、システム変数と呼ばれるものは、テンプレートと同じ書き方ですが、テンプレートではありません。詳しくはHelp:マジックワードを参照してください。また、主としてテンプレート中で使われる {{#....}}
のように、{{#
で始まっているものも、条件文と呼ばれる別のものです。
スペースの無視
[編集]テンプレート名の前後の半角スペース、タブ、改行はないものとして扱われます。またテンプレート変数が =
で指定されているとき、テンプレート変数や引数の前後の半角スペース、タブ、改行はないものとして扱われます。=
で指定されていないとき、引数の前後のスペースは無視されません。
テンプレートの内容 | 読み込み方 | 表示 |
---|---|---|
「Template:経路b」 {{{1|東京}}}から{{{2|博多}}}まで |
{{経路b|1=名古屋|2=新大阪}} |
名古屋から新大阪まで |
{{ 経路b | 1 = 名古屋 | 2 = 新大阪 }} |
名古屋から新大阪まで | |
{{経路b|名古屋|新大阪}} |
名古屋から新大阪まで | |
{{経路b|名古屋 | 新大阪}} |
名古屋 から 新大阪まで |
自己リンク
[編集][[リンク先]]
とするとリンクが作成されますが、このリンク先にそのページ名を入れると、自己リンクを避けるため、リンクではなくただの太字になります。テンプレートを呼び出した場合にも、テンプレート内に呼び出しした側のページへのリンクが含まれていると、自己リンクを防ぐため、リンクではなくただの太字になります。たとえば、﹁Template:C﹂に
[[D]] - [[E]] - [[F]]
とあったとき、ページ﹁D﹂から
{{C}}
として呼び出した場合には、
D - E- F
のように表示されます。ただし、リンク先がリダイレクトの場合には、自己リンクの解決は行われません。
テンプレート名をテンプレートやシステム変数で指定する
[編集]テンプレート名をテンプレートやシステム変数で指定することは可能です。たとえば、(イメージ)
テンプレート | テンプレート | 読み込み方 | 表示 |
---|---|---|---|
「Template:おなまえ」 さいとう |
「Template:欄」 おなまえ |
{{ {{欄}} }} |
さいとう |
「Template:不思議」 あれよあれよ |
ページ「不思議」内にて {{ {{PAGENAME}} }} |
あれよあれよ |
このとき、4つの大括弧を左右とも {{{{欄}}}}
のように連続してしまうと、うまく働きません。少なくともどちらかを2つずつに分けてください。
テンプレートの内容で置き換える
[編集]{{テンプレート名}}
というテンプレートタグは、﹁テンプレートをそこで呼び出す﹂という指示ですので、閲覧する時点でのテンプレートの内容が挿入されます。テンプレートが更新されれば、そのテンプレートを呼び出しているページにも変更が反映されます。
しかし、それでは不便なこともあります。編集した時点でのテンプレートの内容を恒久的に保存したい場合です。この要求に応えるため、テンプレート呼び出しをその内容で置き換えることができます。決まった呼び方はありませんが、﹁subst展開﹂と呼ばれています。︵注‥<ref>タグ内ではsubst展開は使用できません。展開されず、{{subst:テンプレート名...}}がそのまま残ります。︶
{{subst:テンプレート名....}}
このように subst:
を {{
とテンプレート名の間に記述します。subst展開を使って投稿すると、次に編集画面を開いたときには、{{subst:テンプレート名}}
は残っておらず、テンプレートの内容のみが表示されているでしょう。
subst展開を使うかどうかはテンプレートごとに決められています。基本的には、テンプレートの内容を常に反映し続けたい場合はsubst展開を使わず、逆にその時点でのテンプレート内容で確定したい場合はsubst展開を使うことになります。テンプレートによっては、どちらでも構わない場合もあります。テンプレートを使用する際と同様、そのテンプレートの説明をお読みください。
テンプレート呼び出しと同様、subst展開でもリダイレクトは有効です。つまり、﹁Template:別名﹂が﹁Template:転送先﹂へのリダイレクトの時、{{subst:別名}}
でも{{su
bst:転送先}}
でも同じ結果になります。
subst展開とライセンス
[編集][
[Template:○○]]をsubst展開
﹂や﹁{{subst
:[[Template:○○|]]}}
﹂のように記入します。
subst展開に対応したテンプレート
[編集]テンプレートのソースを表示する
[編集]通常あまり使うことはありませんが、テンプレートの説明をするようなとき、テンプレートのソースをそのまま(nowikiで)表示させたいことがあります。この場合には、
{{msgnw:テンプレート名}}
のように記入します。
テンプレート | 読み込み方 | 表示 |
---|---|---|
「Template:すけすけ」 たとえば[[メインページ]]で |
{{すけすけ}} |
たとえばメインページで |
{{msgnw:すけすけ}} |
たとえば[[メインページ]]で |
Template名前空間以外のページの呼び出し方
[編集]定型文などのテンプレートはTemplate名前空間に作られるべきですが、議題を分割したサブページを読み込むなど、Template名前空間以外のページをトランスクルードしたいときがあります。ここでは、そのような場合の呼び出し方を一覧にしておきます。
名前空間 | ページ名の例 | 呼び出し方 |
---|---|---|
Template | Template:固有名 |
{{固有名}} |
標準名前空間 | 固有名 |
{{:固有名}} |
その他 | 名前空間名:固有名 |
{{名前空間名:固有名}} |
{{
のあとに :
が必要なことに気をつけてください。
またサブページは、
{{/サブページ名}}
のように相対リンクを用いて読み込むことができます。詳しくはHelp:サブページをご覧ください。
テンプレート本体を見る
[編集]{{Tl|テンプレート
名}}
とすることで、テンプレートにリンクして{{テンプレート名}} と表示されます。将来的にテンプレート名が変わる予定がない場合は {{subst:Tl|テンプレート名}}
とすることも検討してください。
テンプレートの編集の仕方
[編集]テンプレートの編集は、通常のページと同じです。
新規作成
[編集][[Template:新規テン
プレート]]
のようにすると作成できますが、{{新規テンプレート}
}
のようにすることでも作ることもできます。この場合、新規テンプレート名にふさわしいページ名への未執筆リンクとなります。
基本的には、{{テンプレート名}}の代わりに表示される内容は、そのテンプレート名のページの中身全体と同じになります。たとえば、﹁Template:切符﹂の内容が
乗車券
であったならば、
{{切符}}
は
乗車券
のようになります。
注意:すでにあるテンプレート名を指定した場合は、それが読み込まれます
テンプレートの説明文
[編集]テンプレートには、テンプレートの説明文(使い方や引数の説明など)を書くことができます。 詳しくは、テンプレートの説明文を参照してください。
加筆・変更
[編集]テンプレートページ本体へ行って、内容を編集します。なお、既存のテンプレートを編集すると、そのテンプレートを呼び出しているすべてのページに影響が及ぶことになります。編集をする前に、リンク元をクリックして (参照読み込み) とあるページを見つけ、どのページからどのように呼ばれているかを確認してください。大きな変更を加えるときはノートページで事前に相談をした方がよいでしょう。また複雑なテンプレートの場合は、自分の利用者ページやサンドボックスで試し書きをした方がよいかもしれません(Wikipedia:テンプレートのサンドボックスとテストケースも参照してください)。
新規作成・加筆・変更時の注意点
[編集]内容・カテゴリ等がすぐに反映されない現象
[編集]ウィキペディアのサーバーキャッシュの仕様(テンプレート等のトランスクルージョンに対する仕様)が関係して、新規作成・加筆・変更時にそのテンプレートの説明文、カテゴリがすぐに反映されない現象、テンプレートを呼び出したページに内容がすぐに反映されない現象が生じることがあります。通常、1時間から数日経てば自然に反映されます。
すぐに反映させたい場合には、ウィキペディアのサーバーキャッシュを強制的にいったん破棄することで対処します。破棄する方法はいくつかありますが、最も一般的な方法は「空編集」(編集画面を開いて何も変更せず投稿。履歴に残らない。)です。そのテンプレートやテンプレート呼び出しページを空編集することで、すぐに反映させることができます(テンプレートに関係しているページがとても多い場合やブラウザのキャッシュが関係している場合にはこの方法を使えないときがあります)。
なお、ナビゲーション・ポップアップには個々のページやその編集画面を開くことなく空編集を行なう機能があります。
テンプレート内に書かれたリンクとカテゴリの呼び出しページでの効果
[編集]テンプレート内に書かれたリンクやカテゴリはそのテンプレートを呼び出したページにもあることになります。従って、カテゴリページやリンク先ページの「リンク元」には、テンプレートのページとそのテンプレートを呼び出したページの両方が表示されます(上述のウィキペデイアのサーバーキャッシュの仕様によって反映が遅れることがあります)。
ただし、「Help:テンプレート#一部を無視させる」にある方法を用いることによって、呼び出したページには関係させずテンプレート内でのみ有効なリンクやカテゴリとしたり、逆に、呼び出したページでのみ有効とすることもできます。
テンプレート変数
[編集]{{{テンプレート変数名}}}
のように書き表します。すなわち、{{{テンプレート変数名}}}
は、他のページから埋め込まれるとき、そのページに指定した引数に変化します。テンプレート変数のあるテンプレートの呼び出しは、
{{テンプレート名|テンプレート変数1=引数1|テンプレート変数2=引数2|.....}}
でした。ですから、たとえば﹁Template:経路a﹂というテンプレートが
{{{発駅}}}から{{{着駅}}}まで
のとき、このテンプレートを
{{経路a|発駅=名古屋|着駅=新大阪}}
のように呼び出すと、﹁名古屋﹂がテンプレート変数 {{{発駅}}}
に、﹁新大阪﹂がテンプレート変数 {{{着駅}}}
に入ります。したがって、これは
名古屋から新大阪まで
のようになります。︵参考‥東海道新幹線、山陽新幹線、名古屋駅、新大阪駅︶
また、﹁Template:経路b﹂というテンプレートが
{{{1}}}から{{{2}}}まで
のとき、このテンプレートを
{{経路b|名古屋|新大阪}}
のように呼び出すと、﹁名古屋﹂がテンプレート変数 {{{1}}}
に、﹁新大阪﹂がテンプレート変数 {{{2}}}
に入ります。つまり、
{{経路b|1=名古屋|2=新大阪}}
のように呼び出すのと同じです。ただし値の前後に空白があっても無視されます。したがってこれも
名古屋から新大阪まで
となります。
デフォルト値指定
[編集]|
を使い、
{{{テンプレート変数名|デフォルト}}}
のようにします。たとえば﹁Template:経路a﹂を
{{{発駅|東京}}}から{{{着駅|博多}}}まで
のように、﹁Template:経路b﹂を
{{{1|東京}}}から{{{2|博多}}}まで
に変更すると、次のようになります。︵参考‥東京駅、博多駅︶
テンプレートの内容 | 読み込み方 | 表示 |
---|---|---|
「Template:経路a」 {{{発駅|東京}}}から{{{着駅|博多}}}まで |
{{経路a|発駅=名古屋|着駅=新大阪}} |
名古屋から新大阪まで |
{{経路a|発駅=名古屋}} |
名古屋から博多まで | |
{{経路a|着駅=新大阪}} |
東京から新大阪まで | |
{{経路a}} |
東京から博多まで | |
「Template:経路b」 {{{1|東京}}}から{{{2|博多}}}まで |
{{経路b|名古屋|新大阪}} |
名古屋から新大阪まで |
{{経路b|名古屋}} |
名古屋から博多まで | |
{{経路b|新大阪}} |
新大阪から博多まで | |
{{経路b}} |
東京から博多まで |
|
の右側に何も書かないことで、引数が指定されなかった場合に、対応する変数自体を表示しないようにすることができます。たとえば、テンプレートのソースに {{{変数1}}}
と書いた場合、呼び出すときに {{{変数1}}}
に対応する引数を指定しないと、{{{変数1}}}
と表示されてしまいますが、ソースを {{{変数1|}}}
としておけば、この部分には何も表示されません。
省略された変数名への数字の割り当て方
[編集]=
のある部分には、番号を振る必要がありませんので、振られません。従って、
{{変数名|東=鳥海山|西=阿蘇山|秋田県|熊本県}}
は
{{変数名|東=鳥海山|西=阿蘇山|1=秋田県|2=熊本県}}
の意味となり、
{{変数名|秋田県|熊本県|東=鳥海山|西=阿蘇山}}
に等しくなります。︵参考‥鳥海山︵秋田県と山形県︶、阿蘇山︵熊本県︶、北海道︶
=
のない引数があるとき、まずそこに数字名のテンプレート変数が 1
から順に振られます。一方、同じテンプレート変数が複数ある時には、位置的に後にあるものが有効になります。従って、
{{変数名|東=鳥海山|西=阿蘇山|1=北海道|秋田県|熊本県}}
は、
{{変数名|東=鳥海山|西=阿蘇山|1=北海道|1=秋田県|2=熊本県}}
とみなされ、1=北海道|
の部分は無視されます。
特殊な変数名
[編集]使用上の注意:「|=」を複数使用するとCategory:テンプレート呼び出しで引数が重複しているページに検出されます(関連議論) |
=
の前を空欄にすることもできます。これは長さ0の変数名と見なされ、{{{}}}
とある部分に置き換えられます。たとえば、
{{変数名|=
|A|B|C|=
|D|E|F|=
|G|H|I|=
}}
のように省略された変数名の番号を調整するためのダミーとして用いられます。この例では、A
が {{{1}}}
に、D
が {{{4}
}}
に入ります。もし、ここでの =
がなければ、A
が {{{
2}}}
に、D
が {{{6}}}
にはいることになります。
一部を無視させる
[編集]他のページから呼ばれたときに無視する部分を指定したり、他のページから呼ばれたとき以外は無視する部分を指定したりすることができます。
呼び出し先の表示内容の指定
[編集]<noinclude>
と <onlyinclude>
は、テンプレートが他のページから呼び出されたときに表示しない部分、もしくは表示する部分を指定します。次のような用途で使われます。
●テンプレートの説明を書く。︵テンプレートの説明は、他のページから呼び出されたときには伏せられます。︶
●テンプレートのカテゴリを書く。︵テンプレートのページだけがカテゴリに加えられる。他の場合には、テンプレートを呼び出しているすべてのページが同じカテゴリに加えられることになります。︶
●言語間リンクを書く。︵カテゴリと同じ理由です。︶
なお、テンプレートのソースを見やすくするなどの目的で不用意に <
noinclude>
の直前に改行を入れると、テンプレートを呼び出したページにおいて表示が崩れる原因となることがあります。また説明が長くなるときは説明専用のページを作ることも検討してください︵詳しくはHelp:テンプレートの説明文参照︶。
<noinclude>
[編集]<noinclude>
と </noi
nclude>
で挟むと、その部分は他のページから呼び出したときに取り除かれます。たとえば、﹁Template:内弁慶﹂が
彼は<noinclude>家ではいばっているが外では</noinclude>なよなよしている。
の場合、﹁Template:内弁慶﹂を開くと
彼は家ではいばっているが外ではなよなよしている。
と表示されますが、他のページから
{{内弁慶}}
のように呼び出された場合には、
彼はなよなよしている。
とだけ表示されます。︵参考‥内弁慶︶
<onlyinclude>
[編集]<noinclude>
と同じ目的ですが、逆に呼び出された時の表示部分を指定するものとして、<onlyinclude>
があります。こちらは他のページから呼び出されたときに <onlyincl
ude>
と </onlyinclude>
の間だけ返して他は無視します。たとえば﹁Template:居留守﹂が
電話がかかってきたら<onlyinclude>いない</onlyinclude>って言って。
の場合、﹁Template:居留守﹂を開くと、
電話がかかってきたらいないって言って。
と表示されますが、他のページから
{{居留守}}
のように呼び出された場合に、
いない
とだけ表示されます。︵参考‥電話、居留守︶
テンプレートページの表示内容の指定
[編集]<includeonly>
です。これは、<includeonly>
と </includeonly
>
に挟まれた部分が他のページから呼び出されたときだけ有効で、そのページ︵テンプレート︶を直接表示した時には無視される、というものです。たとえば、﹁Template:へそくり﹂が
貯金は1万円<includeonly>だけどほかにスイスに1億フラン</includeonly>あります。
の場合、﹁Template:へそくり﹂を直接表示すると
貯金は1万円あります。
ですが、
{{へそくり}}
のように呼び出された場合には
貯金は1万円だけどほかにスイスに1億フランあります。
となります。︵参考‥貯金、へそくり、日本円、スイス・フラン︶
テンプレートを貼ったページをあるカテゴリに入れたいが、テンプレートそのものはそのカテゴリに入れたくない、というような場合によく使われます。たとえば、削除依頼テンプレートの削除カテゴリなどです。
<includeonly>使用時の注意
[編集]一覧
[編集]以上3つを表にまとめると次のようになります。
空間 | ソース | テンプレートを直接表示したとき | 呼び出したページにおける表示 |
---|---|---|---|
<noinclude> | A<noinclude>B</noinclude>C | ABC | AC |
<onlyinclude> | A<onlyinclude>B</onlyinclude>C | ABC | B |
<includeonly> | A<includeonly>B</includeonly>C | ABC | ABC |
なお、テンプレートを呼び出した場合、<onlyinclude> が最優先され、その外側にある <nowiki>, <pre>, <noinclude> は効果がありません。
空間 | ソース | テンプレートを直接表示したとき | 呼び出したページにおける表示 |
---|---|---|---|
<nowiki> | <nowiki> A<onlyinclude>B</onlyinclude>C </nowiki> |
A<onlyinclude>B</onlyinclude>C | B |
外側の <noinclude> | <noinclude> A<onlyinclude>B</onlyinclude>C </noinclude> |
ABC | B |
内側の <noinclude> | <onlyinclude> A<noinclude>B</noinclude>C </onlyinclude> |
ABC | AC |
システム変数
[編集]{{PAGENAME}}
などのシステム変数を書いて、他のページから呼び出した場合には、呼び出している側のページにあるものとして認識されます。たとえば、﹁Template:子分﹂に
{{PAGENAME}}
と書いて保存し、このテンプレートをページ﹁親分﹂において
{{子分}}
のように呼び出した場合には、呼び出した側のページ名である﹁親分﹂が表示されます。
時刻などのシステム変数を、テンプレートに置くと、常に閲覧した時点のものが表示されます。テンプレートを貼った時点に固定するには、テンプレートの中で {{<includeonly>subst:</
includeonly>CURRENTTIME}}
のようにし、このテンプレートをさらに subst:
で呼び出します。
システム変数について詳しくはHelp:マジックワードなどをご覧ください。
テンプレートの中で条件文を使う
[編集]テンプレートの中で条件文を使うことができます。詳細はHelp:条件文をご覧ください。
テンプレートの中でテンプレートを呼び出す
[編集]テンプレートの中でさらにテンプレートを呼び出すことができます。
テンプレート | テンプレート | 読み込み方 | 表示 | |
---|---|---|---|---|
単純な例 | 「Template:内々」 うえお |
「Template:内」 い{{内々}}か |
あ{{内}}き |
あいうえおかき |
引数を受け渡す | 「Template:孫」 う{{{1}}}お |
「Template:子」 い{{孫|{{{1}}}}}か |
あ{{子|え}}き |
あいうえおかき |
引数でテンプレート変数 を指定する |
「Template:部屋」 う{{{住所}}}お |
「Template:家」 い{{部屋|{{{1}}}=え}}か |
あ{{家|住所}}き |
あいうえおかき |
引数でテンプレート名 を指定する |
「Template:皿」 うえお |
「Template:盆」 い{{{{{1}}}}}か |
あ{{盆|皿}}き |
あいうえおかき |
{{読み込んだテンプレート自身
の名前}}
があるとさらには展開されず、そのまま文字として表示されます。たとえば﹁Template:ナルシスト﹂に
{{ナルシスト}}なの
として
{{ナルシスト}}です
と呼び出すと、
{{ナルシスト}}なのです
と表示されます。なお、﹁Template:ナルシスト﹂自身を表示すると、一回は﹁Template:ナルシスト﹂を展開するため、
{{ナルシスト}}なのなの
となります。
通常、このような自分自身の読み込みは、<noinclude>で囲まれるか<onlyinclude>の外に置かれた説明文の中で行われます。そのような時には、ここに挙げたような問題は生じません。
テンプレート冒頭の特殊文字
[編集]: ; * #
のいずれかで始まっているとき、それは行頭にあると見なされ、インデント、箇条書きと見なされます。それを避けるためには、: ; * #
などを <nowiki> <
/nowiki>
で囲むか文字参照を使ってください。
テンプレートの引数に半角等号(=)を使う場合の注意
[編集]=
を使用する場合があります。
例として、ルイ=ルネ・デ・フォレ︵等号が半角、フランスの小説家︶を正しい記事名であるルイ=ルネ・デ・フォレ︵記事名の付け方の規定だと、人名・地名では全角文字を使用する︶に移動したことを移動先に{{記事名の付け方違反}}で入力しようとした場合、通常では
●{{記事名の付け方違反|ルイ=ルネ・デ・フォレ|ルイ=ルネ・デ
・フォレ}}
と記入しますが、これは﹁ルイ=﹂の部分をテンプレートは﹁引数ルイ﹂と認識してしまい、テンプレート内部で処理が設定されていない引数ですからテンプレートが誤動作しますので、
(一){{記事名の付け方違反|1=ルイ=ルネ・デ・フォレ|2=ルイ=
ルネ・デ・フォレ}}
︵以降に引数番号を明言する︶
(二){{記事名の付け方違反|ルイ{{=}}ルネ・デ・フォレ|ルイ=
ルネ・デ・フォレ}}
︵テンプレート{{=}}︶
(三){{記事名の付け方違反|ルイ=ルネ・デ・フォレ|ルイ=
ルネ・デ・フォレ}}
︵数値文字参照︶
などの、半角等号を代替記述する方法で展開させる必要が出て来ます。
これはテンプレート全般を使用する際に共通の仕様ですので、こういった問題が発生した場合はテンプレートの使用法を読み、引数名を確認するなどして対処して下さい。
ヒント
[編集]長いテンプレートのソースは、
{{テンプレート名 |変数1={{{1}}} |変数2={{{2}}} |... }}
のように書くと読みやすくなります。
テンプレート内の改行が呼び出している記事に無駄な空白を作ってしまうことがあります。一般的に、テンプレート内に改行を2つ以上続けて使わないようにしましょう。
他のプロジェクトのテンプレート
[編集]他のプロジェクト(他言語版や姉妹プロジェクト)のテンプレートをそのまま読み込むことはできません。
ウィキペディアにおけるテンプレートの歴史
[編集]関連項目
[編集]- Wikipedia:テンプレート
- Help:テンプレート早わかり
- mw:Help:Templates/ja - 詳細なマニュアル
- Wikipedia:テンプレート・モジュール作成の目安
- Wikipedia:Lua
以下のテンプレートはテスト用に使えます。