「ヘルプ:テンプレート」の版間の差分
細 (リンク修正) |
|||
(2人の利用者による、間の3版が非表示) | |||
1行目: | 1行目: | ||
− | + | {{HJ:h|Editor toc ja|てんふれと|[[H:T]]・[[H:TEMP]]}} | |
この文書は、'''テンプレートの利用と作成'''ないし'''あるページを別のページに埋め込む方法'''に関して、ウィキペディアの編集の仕方を説明する文書です。テンプレートについておおまかに知りたい方は、まずは[[Help:テンプレート早わかり]]をご覧ください。 | この文書は、'''テンプレートの利用と作成'''ないし'''あるページを別のページに埋め込む方法'''に関して、ウィキペディアの編集の仕方を説明する文書です。テンプレートについておおまかに知りたい方は、まずは[[Help:テンプレート早わかり]]をご覧ください。 | ||
110行目: | 110行目: | ||
このように <code>subst:</code> を <code>{{</code> とテンプレート名の間に挟んで、「投稿する」をクリックすると、次に編集画面を開いたときにはもう上の <code>{{subst:テンプレート名}}</code> は消えてなくなり、テンプレートの内容に置き換わっています。<code>subst:</code> を使うかどうかはおおむねテンプレートごとに決まっていますから、それぞれのテンプレートの説明をお読みください。基本的には、テンプレートの内容を常に反映し続けたい場合は <code>subst:</code> せず、逆にその時点でのテンプレート内容のみが欲しい場合は <code>subst:</code> することになります。 | このように <code>subst:</code> を <code>{{</code> とテンプレート名の間に挟んで、「投稿する」をクリックすると、次に編集画面を開いたときにはもう上の <code>{{subst:テンプレート名}}</code> は消えてなくなり、テンプレートの内容に置き換わっています。<code>subst:</code> を使うかどうかはおおむねテンプレートごとに決まっていますから、それぞれのテンプレートの説明をお読みください。基本的には、テンプレートの内容を常に反映し続けたい場合は <code>subst:</code> せず、逆にその時点でのテンプレート内容のみが欲しい場合は <code>subst:</code> することになります。 | ||
− | なお、この方法では、読み込んだページに読み込まれたページがそのままコピーされます。そのため、<code>subst:</code> を用いるように最初から設計してあるテンプレート以外のページを <code>subst:</code> で読み込む場合には、[[ | + | なお、この方法では、読み込んだページに読み込まれたページがそのままコピーされます。そのため、<code>subst:</code> を用いるように最初から設計してあるテンプレート以外のページを <code>subst:</code> で読み込む場合には、[[Yourpedia:著作権|著作権]] (GFDL) に十分気をつける必要があります。 |
=== テンプレートのソースを表示する === | === テンプレートのソースを表示する === | ||
154行目: | 154行目: | ||
== テンプレート本体を見る == | == テンプレート本体を見る == | ||
− | テンプレートは、他のページと同じような独立した1つのページですから、他のページと同じように開いて閲覧することができます。あるページの中で使われているテンプレートは、[[Help:ページの編集|編集画面]]を開くとページの一番下に「このページで使われているテンプレート:」としてリストされます([[ | + | テンプレートは、他のページと同じような独立した1つのページですから、他のページと同じように開いて閲覧することができます。あるページの中で使われているテンプレートは、[[Help:ページの編集|編集画面]]を開くとページの一番下に「このページで使われているテンプレート:」としてリストされます([[Yourpedia:保護|保護]]中のページではソースを表示させてください)。ここから各テンプレートページに行くことができます。 |
なお、ノートページなどから、あるテンプレートへとリンクするときは、[[Template:Tl]] を使うと便利です。<code><nowiki>{{Tl|テンプレート名}}</nowiki></code> とすることで、テンプレートにリンクして{{Tl|テンプレート名}} と表示されます。将来的にテンプレート名が変わる予定がない場合は <code><nowiki>{{subst:Tl|テンプレート名}}</nowiki></code> とすることも検討してください。 | なお、ノートページなどから、あるテンプレートへとリンクするときは、[[Template:Tl]] を使うと便利です。<code><nowiki>{{Tl|テンプレート名}}</nowiki></code> とすることで、テンプレートにリンクして{{Tl|テンプレート名}} と表示されます。将来的にテンプレート名が変わる予定がない場合は <code><nowiki>{{subst:Tl|テンプレート名}}</nowiki></code> とすることも検討してください。 | ||
177行目: | 177行目: | ||
=== 加筆・変更 === | === 加筆・変更 === | ||
− | テンプレートページ本体へいって、内容を編集します。なお、既存のテンプレートを編集すると、そのテンプレートを呼び出しているすべてのページに影響が及ぶことになります。編集をする前に、[[Help:リンク元|リンク元]]をクリックして ({{MediaWiki:Istemplate}}) とあるページを見つけ、どのページからどのように呼ばれているかを確認してください。大きな変更を加えるときはノートページで事前に相談をした方がよいでしょう。また複雑なテンプレートの場合は、自分の利用者ページやサンドボックスで試し書きをした方がよいかもしれません([[ | + | テンプレートページ本体へいって、内容を編集します。なお、既存のテンプレートを編集すると、そのテンプレートを呼び出しているすべてのページに影響が及ぶことになります。編集をする前に、[[Help:リンク元|リンク元]]をクリックして ({{MediaWiki:Istemplate}}) とあるページを見つけ、どのページからどのように呼ばれているかを確認してください。大きな変更を加えるときはノートページで事前に相談をした方がよいでしょう。また複雑なテンプレートの場合は、自分の利用者ページやサンドボックスで試し書きをした方がよいかもしれません([[Yourpedia:テンプレートのサンドボックスとテストケース]]も参照してください)。 |
=== 新規作成・加筆・変更時の注意点 === | === 新規作成・加筆・変更時の注意点 === | ||
518行目: | 518行目: | ||
ウィキメディアプロジェクト以外の外部サイトへのリンクを系統的に行うためのテンプレートを作ってはいけません。 | ウィキメディアプロジェクト以外の外部サイトへのリンクを系統的に行うためのテンプレートを作ってはいけません。 | ||
− | [[ | + | [[Yourpedia:カテゴリ]]や[[Yourpedia:関連項目]]で充分なときに、他の記事へのリンク集を作成するためにテンプレートを作らないでください。ウィキペディアンの皆さんの主観にもよりますが、項目の数が数個程度なら関連項目だけでじゅうぶんであり、10個程度になってからカテゴリを作ると考えるとよいでしょう。カテゴリは一つあればかなりの項目をサポート出来るので、カテゴリを使っても見にくくなってきてから、テンプレートを作ることを検討しましょう。 |
== 他のプロジェクトのテンプレート == | == 他のプロジェクトのテンプレート == | ||
536行目: | 536行目: | ||
* [[:en:Wikipedia:Avoid using meta-templates]] | * [[:en:Wikipedia:Avoid using meta-templates]] | ||
− | [[Category: | + | {{DEFAULTSORT:てんふれえと}} |
+ | [[Category:ヘルプ]] | ||
+ | [[Category:ユアペディアのテンプレート|*]] |
2018年10月28日 (日) 06:24時点における最新版
テンプレート:HJ:h この文書は、テンプレートの利用と作成ないしあるページを別のページに埋め込む方法に関して、ウィキペディアの編集の仕方を説明する文書です。テンプレートについておおまかに知りたい方は、まずはHelp:テンプレート早わかりをご覧ください。
目次
テンプレートとは[編集]
テンプレートとは、ウィキペディアにおいて、定型文の入力を簡便にするなどのために用いられる仕組み、またこの仕組みを使って他のページに呼び出されているページのことです。ハイパーリンクを使って、テキストを直接コピーをせずに参照できる「トランスクルージョン」 (transclusion) という手法を使っています。
個々のテンプレートの実体は、他のページと同じような独立した個々のページです。テンプレートは主に、複数のページにおいて同じ内容を表示するために使われます。テンプレートを変更すると、直ちにそれを使用している各ページに変更が反映されます。
トランスクルージョンはプロジェクト内のページであれば、基本的にどんなページにも使えます。Help:テンプレート早わかりなどでは説明を簡単にするために、「Template名前空間にあるページがテンプレートである」としていますが、実際にはどんなページも「テンプレート」として使うことができるのです。ただし、Template名前空間にページを置くことで、ウィキテキスト中にただ{{テンプレート名}}
とするだけで、あらゆる名前空間にこのテンプレートを呼び出すことができます(他の名前空間のページを読み込む方法については#Template名前空間以外のページの呼び出し方参照)。
なお、テンプレートを使う際には、読み込めるページサイズに制限があります。詳しくはHelp:テンプレートの制限を参照してください。
テンプレートを使う[編集]
テンプレートを呼び出す[編集]
テンプレートをページ内に呼び出すには、次のように記述します。
{{テンプレート名}}
この{{テンプレート名}}
という書きかたを、「テンプレートタグ」と呼んでいます。
例えばTemplate:ネタバレというテンプレートについて考えてみましょう。ウィキページに{{ネタバレ}}
を挿入すると、このタグのあるすべての記事に以下のテキストが表示されます。
{{Reader toc ja}}のように、単語の間に空白のあるテンプレート名も可能です。最初の文字だけは大文字と小文字を区別しませんので、{{cleanup}}と{{Cleanup}}は同じテンプレートになりますが、{{cfd}}と{{CfD}}は区別されます(Help:ページ名参照)。
テンプレートはまたテンプレートの生成時に代入されるテンプレート変数を扱えます。
{{テンプレート名|引数1|引数2|.....}}
または
{{テンプレート名|テンプレート変数1=引数1|テンプレート変数2=引数2|.....}}
この場合、引数の部分はそれぞれ自由に変えることができます。各テンプレートでどのような引数に何を入れるかについては、各テンプレートページの説明を確認してください(説明がない場合は編集画面にして、ソースを覗いてください。ノートページに書いてある場合もあります。それでも分からないときはテンプレートを作った人に聞くとよいでしょう)。
なお、{{テンプレート名|引数1|引数2|.....}}
の書き方は、引数の中に =
が含まれているとうまく動作しません。この場合は、 =
を入れてください。数字は、引数の「番目」の数です。
{{PAGENAME}}
のような、システム変数と呼ばれるものは、テンプレートと同じ書き方ですが、テンプレートではありません。詳しくはHelp:マジックワードを参照してください。
スペースの無視[編集]
テンプレート名の前後の半角スペース、タブ、改行はないものとして扱われます。またテンプレート変数が =
で指定されているとき、テンプレート変数や引数の前後の半角スペース、タブ、改行はないものとして扱われます。=
で指定されていないとき、引数の前後のスペースは無視されません。
テンプレートの内容 | 読み込み方 | 表示 |
---|---|---|
「Template:経路b」 {{{1|東京}}}から{{{2|博多}}}まで
|
{{経路b|1=名古屋|2=新大阪}}
|
名古屋から新大阪まで |
{{ 経路b | 1 = 名古屋 | 2 = 新大阪 }}
|
名古屋から新大阪まで | |
{{経路b|名古屋|新大阪}}
|
名古屋から新大阪まで | |
{{経路b|名古屋 | 新大阪}}
|
名古屋 から 新大阪まで |
自己リンク[編集]
通常、[[リンク先]]
とするとリンクが作成されますが、このリンク先にそのページ名を入れると、自己リンクを避けるため、リンクではなくただの太字になります。テンプレートを呼び出した場合にも、テンプレート内に呼び出しした側のページへのリンクが含まれていると、自己リンクを防ぐため、リンクではなくただの太字になります。たとえば、「Template:C」に
[[D]] - [[E]] - [[F]]
とあったとき、ページ「D」から
{{C}}
として呼び出した場合には、
のように表示されます。ただし、リンク先がリダイレクトの場合には、自己リンクの解決は行われません。
テンプレート名をテンプレートやシステム変数で指定する[編集]
テンプレート名をテンプレートやシステム変数で指定することは可能です。たとえば、
テンプレート | テンプレート | 読み込み方 | 表示 |
---|---|---|---|
「Template:おなまえ」 さいとう
|
「Template:欄」 おなまえ
|
{{ {{欄}} }}
|
さいとう |
「Template:不思議」 あれよあれよ
|
ページ「不思議」内にて {{ {{PAGENAME}} }}
|
あれよあれよ |
このとき、4つの大括弧を左右とも {{{{欄}}}}
のように連続してしまうと、うまく働きません。少なくともどちらかを2つずつに分けてください。
テンプレートの内容で置き換える[編集]
WP:SUBST
{{テンプレート名}}
というテンプレートタグは、「テンプレートをそこで呼び出す」という指示ですので、閲覧のたびにその時点でのテンプレートの内容が埋め込まれます。テンプレートが更新されれば、そのテンプレートを呼び出しているページにも変更が反映されます。しかしそれでは不便なこともあります。そこで、テンプレートを挿入するときに、テンプレートの内容をそのままページ内にコピーする方法があります。subst展開、あるいは代入や置換 (substitution) などと呼ばれる方法です。
{{subst:テンプレート名....}}
このように subst:
を {{
とテンプレート名の間に挟んで、「投稿する」をクリックすると、次に編集画面を開いたときにはもう上の {{subst:テンプレート名}}
は消えてなくなり、テンプレートの内容に置き換わっています。subst:
を使うかどうかはおおむねテンプレートごとに決まっていますから、それぞれのテンプレートの説明をお読みください。基本的には、テンプレートの内容を常に反映し続けたい場合は subst:
せず、逆にその時点でのテンプレート内容のみが欲しい場合は subst:
することになります。
なお、この方法では、読み込んだページに読み込まれたページがそのままコピーされます。そのため、subst:
を用いるように最初から設計してあるテンプレート以外のページを subst:
で読み込む場合には、著作権 (GFDL) に十分気をつける必要があります。
テンプレートのソースを表示する[編集]
通常あまり使うことはありませんが、テンプレートの説明をするようなとき、テンプレートのソースをそのまま(nowikiで)表示させたいことがあります。この場合には、
{{msgnw:テンプレート名}}
のように記入します。
テンプレート | 読み込み方 | 表示 |
---|---|---|
「Template:すけすけ」 たとえば[[メインページ]]で
|
{{すけすけ}}
|
たとえばメインページで |
{{msgnw:すけすけ}}
|
たとえば[[メインページ]]で |
Template名前空間以外のページの呼び出し方[編集]
定型文などのテンプレートはTemplate名前空間に作られるべきですが、議題を分割したサブページを読み込むなど、Template名前空間以外のページをトランスクルードしたいときがあります。ここでは、そのような場合の呼び出し方を一覧にしておきます。
名前空間 | ページ名の例 | 呼び出し方 |
---|---|---|
Template | Template:固有名 |
{{固有名}}
|
標準名前空間 | 固有名 |
{{:固有名}}
|
その他 | 名前空間名:固有名 |
{{名前空間名:固有名}}
|
標準名前空間(普通の記事)を読み込む場合、{{
のあとに :
が必要なことに気をつけてください。
またサブページは、
{{/サブページ名}}
のように相対リンクを用いて読み込むことができます。詳しくはHelp:サブページをご覧ください。
テンプレート本体を見る[編集]
テンプレートは、他のページと同じような独立した1つのページですから、他のページと同じように開いて閲覧することができます。あるページの中で使われているテンプレートは、編集画面を開くとページの一番下に「このページで使われているテンプレート:」としてリストされます(保護中のページではソースを表示させてください)。ここから各テンプレートページに行くことができます。
なお、ノートページなどから、あるテンプレートへとリンクするときは、Template:Tl を使うと便利です。{{Tl|テンプレート名}}
とすることで、テンプレートにリンクして{{テンプレート名}} と表示されます。将来的にテンプレート名が変わる予定がない場合は {{subst:Tl|テンプレート名}}
とすることも検討してください。
テンプレートの編集の仕方[編集]
テンプレートの編集は、通常のページと同じです。
新規作成[編集]
新しいテンプレートを作成するには、通常のページの作成と同じようにURLを直接入力したり、未執筆リンク(いわゆる赤リンク)から行います。一般に未執筆リンクは [[Template:新規テンプレート]]
のようにすると作成できますが、{{新規テンプレート}}
のようにすることでも作ることもできます。この場合、新規テンプレート名にふさわしいページ名への未執筆リンクとなります。
基本的には、{{テンプレート名}}の代わりに表示される内容は、そのテンプレート名のページの中身全体と同じになります。たとえば、「Template:切符」の内容が
乗車券
であったならば、
{{切符}}
は
のようになります。
加筆・変更[編集]
テンプレートページ本体へいって、内容を編集します。なお、既存のテンプレートを編集すると、そのテンプレートを呼び出しているすべてのページに影響が及ぶことになります。編集をする前に、リンク元をクリックして (参照読み込み) とあるページを見つけ、どのページからどのように呼ばれているかを確認してください。大きな変更を加えるときはノートページで事前に相談をした方がよいでしょう。また複雑なテンプレートの場合は、自分の利用者ページやサンドボックスで試し書きをした方がよいかもしれません(Yourpedia:テンプレートのサンドボックスとテストケースも参照してください)。
新規作成・加筆・変更時の注意点[編集]
内容・カテゴリ等がすぐに反映されない現象[編集]
ウィキペデイアのサーバーキャッシュの仕様(テンプレート等のトランスクルージョンに対する仕様)が関係して、新規作成・加筆・変更時にそのテンプレートの説明文、カテゴリがすぐに反映されない現象、テンプレートを呼び出したページに内容がすぐに反映されない現象が生じることがあります。通常、1時間から数日経てば自然に反映されます。
すぐに反映させたい場合には、ウィキペディアのサーバーキャッシュを強制的にいったん破棄することで対処します。破棄する方法はいくつかありますが、最も一般的な方法は「空編集」(編集画面を開いて何も変更せず投稿。履歴に残らない。)です。そのテンプレートやテンプレート呼び出しページを空編集することで、すぐに反映させることができます(テンプレートに関係しているページがとても多い場合やブラウザのキャッシュが関係している場合にはこの方法を使えないときがあります)。
なお、ナビゲーション・ポップアップには個々のページやその編集画面を開くことなく空編集を行なう機能があります。
テンプレート内に書かれたリンクとカテゴリの呼び出しページでの効果[編集]
テンプレート内に書かれたリンクやカテゴリはそのテンプレートを呼び出したページにもあることになります。従って、カテゴリページやリンク先ページの「リンク元」には、テンプレートのページとそのテンプレートを呼び出したページの両方が表示されます(上述のウィキペデイアのサーバーキャッシュの仕様によって反映が遅れることがあります)。
ただし、「Help:テンプレート#一部を無視させる」にある方法を用いることによって、呼び出したページには関係させずテンプレート内でのみ有効なリンクやカテゴリとしたり、逆に、呼び出したページでのみ有効とすることもできます。
テンプレート変数[編集]
テンプレート変数は、テンプレートの中で {{{テンプレート変数名}}}
のように書き表します。すなわち、{{{テンプレート変数名}}}
は、他のページから埋め込まれるとき、そのページに指定した引数に変化します。テンプレート変数のあるテンプレートの呼び出しは、
{{テンプレート名|テンプレート変数1=引数1|テンプレート変数2=引数2|.....}}
でした。ですから、たとえば「Template:経路a」というテンプレートが
{{{発駅}}}から{{{着駅}}}まで
のとき、このテンプレートを
{{経路a|発駅=名古屋|着駅=新大阪}}
のように呼び出すと、「名古屋」がテンプレート変数 {{{発駅}}}
に、「新大阪」がテンプレート変数 {{{着駅名}}}
に入ります。したがって、これは
のようになります。
また、「Template:経路b」というテンプレートが
{{{1}}}から{{{2}}}まで
のとき、このテンプレートを
{{経路b|名古屋|新大阪}}
のように呼び出すと、「名古屋」がテンプレート変数 {{{1}}}
に、「新大阪」がテンプレート変数 {{{2}}}
に入ります。つまり、
{{経路b|1=名古屋|2=新大阪}}
のように呼び出すのと同じです。ただし値の前後に空白があっても無視されます。したがってこれも
となります。
デフォルト値指定[編集]
埋め込んだページで引数が指定されていないときには、{{{テンプレート変数名}}}がそのまま表示されることになります。それをふせぐため、引数が指定されていない場合の動作を指定することができます (m:Help:Parameter default)。これには |
を使い、
{{{テンプレート変数名|デフォルト}}}
のようにします。たとえば「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から番号が振られます。この番号は最初から順に振られますが、=
のある部分には、番号を振る必要がありませんので、振られません。従って、
{{変数名|東=鳥海山|西=阿蘇山|秋田県|熊本県}}
は
{{変数名|東=鳥海山|西=阿蘇山|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}}}
にはいることになります。
一部を無視させる[編集]
他のページから呼ばれたときに無視する部分を指定したり、他のページから呼ばれたとき以外は無視する部分を指定したりすることができます。
呼び出し先の表示内容の指定[編集]
<noinclude>
と <onlyinclude>
は、テンプレートが他のページから呼び出されたときに表示しない部分、もしくは表示する部分を指定します。次のような用途で使われます。
- テンプレートの説明を書く。(テンプレートの説明は、他のページから呼び出されたときには伏せられます。)
- テンプレートのカテゴリを書く。(テンプレートのページだけがカテゴリに加えられる。他の場合には、テンプレートを呼び出しているすべてのページが同じカテゴリに加えられることになります。)
- 言語間リンクを書く。(カテゴリと同じ理由です。)
なお、テンプレートのソースを見やすくするなどの目的で不用意に <noinclude>
の直前に改行を入れると、テンプレートを呼び出したページにおいて表示が崩れる原因となることがあります。また説明が長くなるときは説明専用のページを作ることも検討してください(詳しくはHelp:テンプレートの説明文参照)。
<noinclude>[編集]
テンプレートのある部分を <noinclude>
と </noinclude>
で挟むと、その部分は他のページから呼び出したときに取り除かれます。たとえば、「Template:内弁慶」が
彼は<noinclude>家ではいばっているが外では</noinclude>なよなよしている。
の場合、「Template:内弁慶」を開くと
と表示されますが、他のページから
{{内弁慶}}
のように呼び出された場合には、
とだけ表示されます。
<onlyinclude>[編集]
<noinclude>
と同じ目的ですが、逆に呼び出された時の表示部分を指定するものとして、<onlyinclude>
があります。こちらは他のページから呼び出されたときに <onlyinclude>
と </onlyinclude>
の間だけ返して他は無視します。たとえば「Template:居留守」が
電話がかかってきたら<onlyinclude>いない</onlyinclude>って言って。
だったならば、「Template:居留守」を開くと、
と表示されますが、他のページから
{{居留守}}
のように呼び出された場合に、
とだけ表示されます。
テンプレートページの表示内容の指定[編集]
先の2つと逆の用途のものが、<includeonly>
です。これは、<includeonly>
と </includeonly>
に挟まれた部分が他のページから呼び出されたときだけ有効で、そのページ(テンプレート)を直接表示した時には無視される、というものです。たとえば、「Template:へそくり」が
貯金は1万円<includeonly>だけどほかにスイスに1億フラン</includeonly>あります。
の場合、「Template:へそくり」を直接表示すると
ですが、
{{へそくり}}
のように呼び出された場合には
となります。
テンプレートを貼ったページをあるカテゴリに入れたいが、テンプレートそのものはそのカテゴリに入れたくない、というような場合によく使われます。たとえば、削除依頼テンプレートの削除カテゴリなどです。
<includeonly>使用時の注意[編集]
<includeonly> と </includeonly> の前後にある改行は呼び出される部分に含まれています。例えば <includeonly></includeonly> 内のテンプレート本体と <noinclude></noinclude> 内のテンプレートの説明等だけのテンプレートページでは、<noinclude></noinclude> 外が呼び出される部分になるので、</noinclude> と <includeonly> の間や </includeonly> と <noinclude> の間にある改行は呼び出される部分に含まれます。また、<includeonly> の直後と </includeonly> の直前の改行も呼び出される部分に含まれます。
一覧[編集]
以上3つを表にまとめると次のようになります。
空間 | <noinclude> | <onlyinclude> | <includeonly> |
---|---|---|---|
ソース | A<noinclude>B</noinclude>C | A<onlyinclude>B</onlyinclude>C | A<includeonly>B</includeonly>C |
テンプレートを直接 表示したとき |
ABC | ABC | AC |
呼び出したページ における表示 |
AC | B | ABC |
なお、テンプレートを呼び出した場合、<onlyinclude> が最優先され、その外側にある <nowiki>, <pre>, <noinclude> は効果がありません。
空間 | <nowiki> | 外側の <noinclude> | 内側の <noinclude> |
---|---|---|---|
ソース | <nowiki> A<onlyinclude>B</onlyinclude>C </nowiki> |
<noinclude> A<onlyinclude>B</onlyinclude>C </noinclude> |
<onlyinclude> A<noinclude>B</noinclude>C </onlyinclude> |
テンプレートを直接 表示したとき |
A<onlyinclude>B</onlyinclude>C | ABC | ABC |
呼び出したページ における表示 |
B | B | 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={{{1}}} |変数2={{{2}}} |... }}
のように書くと読みやすくなります。
テンプレート内の改行が呼び出している記事に無駄な空白を作ってしまうことがあります。一般的に、テンプレート内に改行を2つ以上続けて使わないようにしましょう。
テンプレートの目的と基本的ルール[編集]
- 定型メッセージを記事内に一貫した形で挿入するため(スタブや曖昧さ回避ページであることなどを示す)
- 簡単なショートカットを使って、著作権侵害、中立性の問題などのさまざまな問題に関する定型文を挿入するため
- 関連する記事をまとめたリンク集への誘導テンプレートやサイドバーを作成するため
- Infoboxを作成するため
- 多言語間でほとんど共有できるようなテキストの言語間流用性を提供するため。各言語毎に一部の用語だけが異なっている場合、その用語にテンプレートを使い、各言語のプロジェクトでそのテンプレートの中身を定義することで、簡単に共有を実現します。taxoboxesで採用されています。
記事の名前空間にあるテンプレートは読者の理解を促す情報を提供します。これらは関連するページへのリンクを支援したり、内容が不足していることを警告する情報を示すのに使います。編集者にのみ関係するテンプレートの情報は記事のノートページに使用します。
標準名前空間の記事の一部をテンプレート名前空間においてはいけません。これらは直接記事内に記入してください。
ウィキメディアプロジェクト以外の外部サイトへのリンクを系統的に行うためのテンプレートを作ってはいけません。
Yourpedia:カテゴリやYourpedia:関連項目で充分なときに、他の記事へのリンク集を作成するためにテンプレートを作らないでください。ウィキペディアンの皆さんの主観にもよりますが、項目の数が数個程度なら関連項目だけでじゅうぶんであり、10個程度になってからカテゴリを作ると考えるとよいでしょう。カテゴリは一つあればかなりの項目をサポート出来るので、カテゴリを使っても見にくくなってきてから、テンプレートを作ることを検討しましょう。
他のプロジェクトのテンプレート[編集]
他のプロジェクト(他言語版や姉妹プロジェクト)のテンプレートをそのまま読み込むことはできません。
ウィキペディアにおけるテンプレートの歴史[編集]
ウィキペディアの最初の35ヶ月間は、テンプレートや包含のメカニズムが全くありませんでした。2003年12月6日のMediaWiki 1.2.6でMediaWiki namespaceが導入され、{{msg:...}}の構文を利用して、ユーザーインターフェイスだけでなく定型メッセージの作成にも利用されました。例えば{{msg:stub}}を{{stub}}の代わりに入力していました
2004年5月30日のMediaWiki 1.3へのアップグレードの間にこの機能は Template名前空間の利用に置き換えられました。"テンプレート名前空間初期化スクリプト"の機能として、システムメッセージ以外の全てのメッセージは新しい名前空間に移され、多くのリダイレクトが残りました。初期化スクリプトはまたリダイレクトを回避するために記事内のMediaWiki名前空間への参照をTemplate:で置き換えました。
英語版のWikipedia:削除依頼(当時は "votes for deletion" または "VfD"と呼ばれていました)は、短期間、MediaWiki名前空間の"Template:VfD-ページ名"というシステムメッセージを利用していました。これは2004年7月にTemplate:名前空間に移され、現在は"Template:VfD-ページ名"という名前になっていますが、このテンプレートを使わずに、今ではサブページが利用されています。