ホーム
おまかせ表示
ログイン
設定
脳科学辞典について
免責事項
脳科学辞典
検索
ヘルプ:テンプレートのソースを表示
←
ヘルプ:テンプレート
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{HJ:h|Editor toc ja|てんふれと|[[H:T]]・[[H:TEMP]]}} この文書は、'''テンプレートの利用と作成'''ないし'''あるページを別のページに埋め込む方法'''に関して、ウィキペディアの編集の仕方を説明する文書です。テンプレートについておおまかに知りたい方は、まずは[[Help:テンプレート早わかり]]をご覧ください。 == テンプレートとは == テンプレートとは、ウィキペディアにおいて、定型文の入力を簡便にするなどのために用いられる仕組み、またこの仕組みを使って他のページに呼び出されているページのことです。ハイパーリンクを使って、テキストを直接コピーをせずに参照できる「'''[[トランスクルージョン]]'''」 (transclusion) という手法を使っています。 個々のテンプレートの実体は、他のページと同じような独立した個々のページです。テンプレートは主に、複数のページにおいて同じ内容を表示するために使われます。テンプレートを変更すると、直ちにそれを使用している各ページに変更が反映されます。 トランスクルージョンはプロジェクト内のページであれば、基本的にどんなページにも使えます。[[Help:テンプレート早わかり]]などでは説明を簡単にするために、「Template名前空間にあるページがテンプレートである」としていますが、実際にはどんなページも「テンプレート」として使うことができるのです。ただし、Template[[Help:名前空間|名前空間]]にページを置くことで、ウィキテキスト中にただ<code><nowiki>{{テンプレート名}}</nowiki></code>とするだけで、あらゆる名前空間にこのテンプレートを呼び出すことができます(他の名前空間のページを読み込む方法については[[#Template名前空間以外のページの呼び出し方]]参照)。 なお、テンプレートを使う際には、読み込めるページサイズに制限があります。詳しくは[[Help:テンプレートの制限]]を参照してください。 == テンプレートを使う == === テンプレートを呼び出す === テンプレートをページ内に呼び出すには、次のように記述します。 <nowiki>{{テンプレート名}}</nowiki> この<code><nowiki>{{テンプレート名}}</nowiki></code>という書きかたを、「'''テンプレートタグ'''」と呼んでいます。 例えば[[:Template:ネタバレ]]というテンプレートについて考えてみましょう。ウィキページに<code><nowiki>{{ネタバレ}}</nowiki></code>を挿入すると、このタグのあるすべての記事に以下のテキストが表示されます。 <div style="border: 1px dotted black; padding: 5px"> {{ネタバレ}} </div> <nowiki>{{Reader toc ja}}</nowiki>のように、単語の間に空白のあるテンプレート名も可能です。最初の文字だけは大文字と小文字を区別しませんので、<nowiki>{{cleanup}}と{{Cleanup}}</nowiki>は同じテンプレートになりますが、<nowiki>{{cfd}}と{{CfD}}</nowiki>は区別されます([[Help:ページ名]]参照)。 テンプレートはまたテンプレートの生成時に代入されるテンプレート変数を扱えます。 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{テンプレート名|<font color="red">引数1</font>|<font color="red">引数2</font>|.....}} </div> または <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{テンプレート名|テンプレート変数1=<font color="red">引数1</font>|テンプレート変数2=<font color="red">引数2</font>|.....}} </div> この場合、引数の部分はそれぞれ自由に変えることができます。各テンプレートでどのような引数に何を入れるかについては、各テンプレートページの説明を確認してください(説明がない場合は編集画面にして、ソースを覗いてください。ノートページに書いてある場合もあります。それでも分からないときはテンプレートを作った人に聞くとよいでしょう)。 なお、<code>{{テンプレート名|<font color="red">引数1</font>|<font color="red">引数2</font>|.....}}</code> の書き方は、引数の中に <code> = </code> が含まれているとうまく動作しません。この場合は、<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace">{{テンプレート名|<span style="background: yellow">1=</span><font color="red">引数1</font>|<span style="background: yellow">2=</span><font color="red">引数2</font>|.....}}</div>のように、該当する引数の前に数字と <code> = </code> を入れてください。数字は、引数の「番目」の数です。 <code>{{PAGENAME}}</code> のような、システム変数と呼ばれるものは、テンプレートと同じ書き方ですが、テンプレートではありません。詳しくは[[Help:マジックワード]]を参照してください。また、主としてテンプレート中で使われる <code>{{#....}}</code> のように、<code>{{#</code> で始まっているものも、[[Help:条件文|条件文]]と呼ばれる別のものです。 ==== スペースの無視 ==== テンプレート名の前後の半角スペース、タブ、改行はないものとして扱われます。またテンプレート変数が <code>=</code> で指定されているとき、テンプレート変数や引数の前後の半角スペース、タブ、改行はないものとして扱われます。<code>=</code> で指定されていないとき、引数の前後のスペースは無視されません。 {| class=wikitable |- !テンプレートの内容 !読み込み方 !表示 |- |rowspan=4|「Template:経路b」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace"><nowiki>{{{1|東京}}}から{{{2|博多}}}まで</nowiki></div> |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路b|1=名古屋|2=新大阪}}</nowiki></div> |名古屋から新大阪まで |- |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{ 経路b | 1 = 名古屋 | 2 = 新大阪 }}</nowiki></div> |名古屋から新大阪まで |- |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路b|名古屋|新大阪}}</nowiki></div> |名古屋から新大阪まで |- |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路b|名古屋 | 新大阪}}</nowiki></div> |名古屋 から 新大阪まで |- |} ==== 自己リンク ==== 通常、<code><nowiki>[[</nowiki>リンク先]] </code>とするとリンクが作成されますが、このリンク先にそのページ名を入れると、自己リンクを避けるため、リンクではなくただの太字になります。テンプレートを呼び出した場合にも、テンプレート内に呼び出しした側のページへのリンクが含まれていると、自己リンクを防ぐため、リンクではなくただの太字になります。たとえば、「Template:C」に <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> <nowiki>[[D]] - [[E]] - [[F]]</nowiki> </div> とあったとき、ページ「D」から <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{C}} </div> として呼び出した場合には、 {{Indent|1= '''D''' - [[E]] - [[F]]}} のように表示されます。ただし、リンク先がリダイレクトの場合には、自己リンクの解決は行われません。 ==== テンプレート名をテンプレートやシステム変数で指定する ==== テンプレート名をテンプレートやシステム変数で指定することは可能です。たとえば、 {| class=wikitable |- !テンプレート !テンプレート !読み込み方 !表示 |- |「Template:おなまえ」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px green dashed; font-family: monospace"><nowiki>さいとう</nowiki></div> |「Template:欄」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace"><nowiki>おなまえ</nowiki></div> |<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{ {{欄}} }}</nowiki></div> |さいとう |- | |「Template:不思議」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace">あれよあれよ</div> |ページ「不思議」内にて<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{ {{PAGENAME}} }}</nowiki></div> |あれよあれよ |} このとき、4つの大括弧を左右とも <code><nowiki>{{{{欄}}}}</nowiki></code> のように連続してしまうと、うまく働きません。少なくともどちらかを2つずつに分けてください。 === テンプレートの内容で置き換える === {{Redirect3|subst|ウィキペディア編集用語|MS-DOSコマンド|ディスクドライブ仮想化ソフト}} {{ショートカット|WP:SUBST}} <code>{{テンプレート名}}</code>というテンプレートタグは、「テンプレートをそこで呼び出す」という指示ですので、閲覧のたびにその時点でのテンプレートの内容が埋め込まれます。テンプレートが更新されれば、そのテンプレートを呼び出しているページにも変更が反映されます。しかしそれでは不便なこともあります。そこで、テンプレートを挿入するときに、テンプレートの内容をそのままページ内にコピーする方法があります。'''subst展開'''、あるいは代入や置換 (substitution) などと呼ばれる方法です。 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{<font color="red">subst:</font>テンプレート名....}} </div> このように <code>subst:</code> を <code>{{</code> とテンプレート名の間に挟んで、「投稿する」をクリックすると、次に編集画面を開いたときにはもう上の <code>{{subst:テンプレート名}}</code> は消えてなくなり、テンプレートの内容に置き換わっています。<code>subst:</code> を使うかどうかはおおむねテンプレートごとに決まっていますから、それぞれのテンプレートの説明をお読みください。基本的には、テンプレートの内容を常に反映し続けたい場合は <code>subst:</code> せず、逆にその時点でのテンプレート内容のみが欲しい場合は <code>subst:</code> することになります。 なお、この方法では、読み込んだページに読み込まれたページがそのままコピーされます。そのため、<code>subst:</code> を用いるように最初から設計してあるテンプレート以外のページを <code>subst:</code> で読み込む場合には、[[Wikipedia:著作権|著作権]] (GFDL) に十分気をつける必要があります。 === テンプレートのソースを表示する === 通常あまり使うことはありませんが、テンプレートの説明をするようなとき、テンプレートのソースをそのまま(nowikiで)表示させたいことがあります。この場合には、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{<font color="red">msgnw:</font>テンプレート名}} </div> のように記入します。 {| class=wikitable |- !テンプレート !読み込み方 !表示 |- |rowspan=2|「Template:すけすけ」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace"><nowiki>たとえば[[メインページ]]で</nowiki></div> |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{すけすけ}}</nowiki></div> |たとえば[[メインページ]]で |- |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{msgnw:すけすけ}}</nowiki></div> |<nowiki>たとえば[[メインページ]]で</nowiki> |- |} === Template名前空間以外のページの呼び出し方 === 定型文などのテンプレートはTemplate名前空間に作られるべきですが、議題を分割したサブページを読み込むなど、Template名前空間以外のページをトランスクルードしたいときがあります。ここでは、そのような場合の呼び出し方を一覧にしておきます。 {| class=wikitable |- !名前空間!!ページ名の例!!呼び出し方 |- |Template||align=right|<code>Template:固有名</code>||align=right|<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace">{{固有名}}</div> |- |標準名前空間||align=right|<code>固有名</code>||align=right|<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace">{{<font color="red">:</font>固有名}}</div> |- |その他||align=right|<code>名前空間名:固有名</code>||align=right|<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace">{{名前空間名:固有名}}</div> |} 標準名前空間(普通の記事)を読み込む場合、<code>{{</code> のあとに <code>:</code> が必要なことに気をつけてください。 またサブページは、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{/サブページ名}} </div> のように相対リンクを用いて読み込むことができます。詳しくは[[Help:サブページ]]をご覧ください。 == テンプレート本体を見る == テンプレートは、他のページと同じような独立した1つのページですから、他のページと同じように開いて閲覧することができます。あるページの中で使われているテンプレートは、[[Help:ページの編集|編集画面]]を開くとページの一番下に「このページで使われているテンプレート:」としてリストされます([[Wikipedia:保護|保護]]中のページではソースを表示させてください)。ここから各テンプレートページに行くことができます。 なお、ノートページなどから、あるテンプレートへとリンクするときは、[[Template:Tl]] を使うと便利です。<code><nowiki>{{Tl|テンプレート名}}</nowiki></code> とすることで、テンプレートにリンクして{{Tl|テンプレート名}} と表示されます。将来的にテンプレート名が変わる予定がない場合は <code><nowiki>{{subst:Tl|テンプレート名}}</nowiki></code> とすることも検討してください。 == テンプレートの編集の仕方 == テンプレートの編集は、通常のページと同じです。 === 新規作成 === 新しいテンプレートを作成するには、通常の[[Help:新規ページの作成|ページの作成]]と同じようにURLを直接入力したり、未執筆リンク(いわゆる赤リンク)から行います。一般に未執筆リンクは <code><nowiki>[[</nowiki>Template:新規テンプレート]]</code> のようにすると作成できますが、<code><nowiki>{{</nowiki>新規テンプレート}}</code> のようにすることでも作ることもできます。この場合、新規テンプレート名にふさわしいページ名への未執筆リンクとなります。 基本的には、<nowiki>{{テンプレート名}}</nowiki>の代わりに表示される内容は、そのテンプレート名のページの中身全体と同じになります。たとえば、「Template:切符」の内容が <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> 乗車券 </div> であったならば、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{切符}} </div> は {{Indent|1= 乗車券}} のようになります。 === 加筆・変更 === テンプレートページ本体へいって、内容を編集します。なお、既存のテンプレートを編集すると、そのテンプレートを呼び出しているすべてのページに影響が及ぶことになります。編集をする前に、[[Help:リンク元|リンク元]]をクリックして ({{MediaWiki:Istemplate}}) とあるページを見つけ、どのページからどのように呼ばれているかを確認してください。大きな変更を加えるときはノートページで事前に相談をした方がよいでしょう。また複雑なテンプレートの場合は、自分の利用者ページやサンドボックスで試し書きをした方がよいかもしれません([[Wikipedia:テンプレートのサンドボックスとテストケース]]も参照してください)。 === 新規作成・加筆・変更時の注意点 === ==== 内容・カテゴリ等がすぐに反映されない現象 ==== ウィキペデイアの[[サーバ|サーバー]][[キャッシュ (コンピュータシステム)|キャッシュ]]の仕様(テンプレート等の[[トランスクルージョン]]に対する仕様)が関係して、新規作成・加筆・変更時にそのテンプレートの説明文、カテゴリがすぐに反映されない現象、テンプレートを呼び出したページに内容がすぐに反映されない現象が生じることがあります。通常、1時間から数日経てば自然に反映されます。 すぐに反映させたい場合には、ウィキペディアのサーバーキャッシュを強制的にいったん破棄することで対処します。破棄する方法はいくつかありますが、最も一般的な方法は「空編集」(編集画面を開いて何も変更せず投稿。履歴に残らない。)です。そのテンプレートやテンプレート呼び出しページを空編集することで、すぐに反映させることができます(テンプレートに関係しているページがとても多い場合や[[ウェブブラウザ|ブラウザ]]のキャッシュが関係している場合にはこの方法を使えないときがあります)。 なお、[[Help:ナビゲーション・ポップアップ|ナビゲーション・ポップアップ]]には個々のページやその編集画面を開くことなく空編集を行なう機能があります。 ==== テンプレート内に書かれたリンクとカテゴリの呼び出しページでの効果 ==== テンプレート内に書かれたリンクや[[Help:カテゴリ|カテゴリ]]はそのテンプレートを呼び出したページにもあることになります。従って、カテゴリページやリンク先ページの「[[Help:リンク元|リンク元]]」には、テンプレートのページとそのテンプレートを呼び出したページの両方が表示されます(上述のウィキペデイアの[[サーバ|サーバー]][[キャッシュ (コンピュータシステム)|キャッシュ]]の仕様によって反映が遅れることがあります)。 ただし、「[[Help:テンプレート#一部を無視させる]]」にある方法を用いることによって、呼び出したページには関係させずテンプレート内でのみ有効なリンクやカテゴリとしたり、逆に、呼び出したページでのみ有効とすることもできます。 === テンプレート変数 === テンプレート変数は、テンプレートの中で <code><nowiki>{{{</nowiki>テンプレート変数名}}}</code> のように書き表します。すなわち、<code><nowiki>{{{</nowiki>テンプレート変数名}}}</code> は、他のページから埋め込まれるとき、そのページに指定した引数に変化します。テンプレート変数のあるテンプレートの呼び出しは、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{テンプレート名|テンプレート変数1=<font color="red">引数1</font>|テンプレート変数2=<font color="red">引数2</font>|.....}} </div> でした。ですから、たとえば「Template:経路a」というテンプレートが <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> {{{発駅}}}から{{{着駅}}}まで </div> のとき、このテンプレートを <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{経路a|発駅=<font color="red">名古屋</font>|着駅=<font color="red">新大阪</font>}} </div> のように呼び出すと、「名古屋」がテンプレート変数 <code>{{{発駅}}}</code> に、「新大阪」がテンプレート変数 <code>{{{着駅名}}}</code> に入ります。したがって、これは {{Indent|1= 名古屋から新大阪まで}} のようになります。 また、「Template:経路b」というテンプレートが <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> {{{1}}}から{{{2}}}まで </div> のとき、このテンプレートを <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{経路b|<font color="red">名古屋</font>|<font color="red">新大阪</font>}} </div> のように呼び出すと、「名古屋」がテンプレート変数 <code>{{{1}}}</code> に、「新大阪」がテンプレート変数 <code>{{{2}}}</code> に入ります。つまり、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{経路b|<span style="background: yellow">1=</span><font color="red">名古屋</font>|<span style="background: yellow">2=</span><font color="red">新大阪</font>}} </div> のように呼び出すのと同じです。ただし値の前後に空白があっても無視されます。したがってこれも {{Indent|1= 名古屋から新大阪まで}} となります。 ==== デフォルト値指定 ==== 埋め込んだページで引数が指定されていないときには、<nowiki>{{{</nowiki>テンプレート変数名}}}がそのまま表示されることになります。それを防ぐため、引数が指定されていない場合の動作を指定することができます ([[m:Help:Parameter default]])。これには <code>|</code> を使い、 <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> {{{テンプレート変数名|デフォルト}}} </div> のようにします。たとえば「Template:経路a」を <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> {{{発駅|東京}}}から{{{着駅|博多}}}まで </div> のように、「Template:経路b」を <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> {{{1|東京}}}から{{{2|博多}}}まで </div> に変更すると、次のようになります。 {| class=wikitable |- !テンプレートの内容 !読み込み方 !表示 |- |rowspan=4|「Template:経路a」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace"><nowiki>{{{発駅|東京}}}から{{{着駅|博多}}}まで</nowiki></div> |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路a|発駅=名古屋|着駅=新大阪}}</nowiki></div> |名古屋から新大阪まで |- |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路a|発駅=名古屋}}</nowiki></div> |名古屋から博多まで |- |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路a|着駅=新大阪}}</nowiki></div> |東京から新大阪まで |- |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路a}}</nowiki></div> |東京から博多まで |- |rowspan=4|「Template:経路b」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace"><nowiki>{{{1|東京}}}から{{{2|博多}}}まで</nowiki></div> |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路b|名古屋|新大阪}}</nowiki></div> |名古屋から新大阪まで |- |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路b|名古屋}}</nowiki></div> |名古屋から博多まで |- |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路b|新大阪}}</nowiki></div> |新大阪から博多まで |- |<div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>{{経路b}}</nowiki></div> |東京から博多まで |} これを応用すれば、<code>|</code> の右側に何も書かないことで、引数が指定されなかった場合に、対応する変数自体を表示しないようにすることができます。たとえば、テンプレートのソースに <code><nowiki>{{{変数1}}}</nowiki></code> と書いた場合、呼び出すときに <code><nowiki>{{{変数1}}}</nowiki></code> に対応する引数を指定しないと、<code><nowiki>{{{変数1}}}</nowiki></code> と表示されてしまいますが、ソースを <code><nowiki>{{{</nowiki>変数1<font color="red">|</font>}}}</code> としておけば、この部分には何も表示されません。 ==== 省略された変数名への数字の割り当て方 ==== テンプレート変数を呼び出し側で省略すると、順に1から番号が振られます。この番号は最初から順に振られますが、<code>=</code> のある部分には、番号を振る必要がありませんので、振られません。従って、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{変数名|東=鳥海山|西=阿蘇山|秋田県|熊本県}} </div> は <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{変数名|東=鳥海山|西=阿蘇山|<span style="background: yellow">1=</span>秋田県|<span style="background: yellow">2=</span>熊本県}} </div> の意味となり、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{変数名|秋田県|熊本県|東=鳥海山|西=阿蘇山}} </div> に等しくなります。 <code>=</code> のない引数があるとき、まずそこに数字名のテンプレート変数が <code>1</code> から順に振られます。一方、同じテンプレート変数が複数ある時には、位置的に後にあるものが有効になります。従って、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{変数名|東=鳥海山|西=阿蘇山|1=北海道|秋田県|熊本県}} </div> は、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{変数名|東=鳥海山|西=阿蘇山|1=北海道|<span style="background: yellow">1=</span>秋田県|<span style="background: yellow">2=</span>熊本県}} </div> とみなされ、<code>1=北海道|</code> の部分は無視されます。 ==== 特殊な変数名 ==== テンプレート変数を指定するとき、<code>=</code> の前を空欄にすることもできます。これは長さ0の変数名と見なされ、<code>{{{}}}</code> とある部分に置き換えられます。たとえば、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{変数名|=<br/> |A|B|C|=<br/> |D|E|F|=<br/> |G|H|I|=<br/> }} </div> のように省略された変数名の番号を調整するためのダミーとして用いられます。この例では、<code>A</code> が <code>{{{1}}}</code> に、<code>D</code> が <code>{{{4}}}</code> に入ります。もし、ここでの <code>=</code> がなければ、<code>A</code> が <code>{{{2}}}</code> に、<code>D</code> が <code>{{{6}}}</code> にはいることになります。 === 一部を無視させる === 他のページから呼ばれたときに無視する部分を指定したり、他のページから呼ばれたとき以外は無視する部分を指定したりすることができます。 ==== 呼び出し先の表示内容の指定 ==== <code><noinclude></code> と <code><onlyinclude></code> は、テンプレートが他のページから呼び出されたときに表示しない部分、もしくは表示する部分を指定します。次のような用途で使われます。 * テンプレートの説明を書く。(テンプレートの説明は、他のページから呼び出されたときには伏せられます。) * テンプレートの[[Help:カテゴリ|カテゴリ]]を書く。(テンプレートのページだけがカテゴリに加えられる。他の場合には、テンプレートを呼び出しているすべてのページが同じカテゴリに加えられることになります。) * [[Help:言語間リンク|言語間リンク]]を書く。(カテゴリと同じ理由です。) なお、テンプレートのソースを見やすくするなどの目的で不用意に <code><noinclude></code> の直前に改行を入れると、テンプレートを呼び出したページにおいて表示が崩れる原因となることがあります。また説明が長くなるときは説明専用のページを作ることも検討してください(詳しくは[[Help:テンプレートの説明文]]参照)。 ===== <noinclude> ===== テンプレートのある部分を <code><noinclude></code> と <code></noinclude></code> で挟むと、その部分は他のページから呼び出したときに取り除かれます。たとえば、「Template:内弁慶」が <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> 彼は<noinclude>家ではいばっているが外では</noinclude>なよなよしている。 </div> の場合、「Template:内弁慶」を開くと {{Indent|1= 彼は家ではいばっているが外ではなよなよしている。}} と表示されますが、他のページから <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{内弁慶}} </div> のように呼び出された場合には、 {{Indent|1= 彼はなよなよしている。}} とだけ表示されます。 ===== <onlyinclude> ===== <code><noinclude></code> と同じ目的ですが、逆に呼び出された時の表示部分を指定するものとして、<code><onlyinclude></code> があります。こちらは他のページから呼び出されたときに <code><onlyinclude></code> と <code></onlyinclude></code>の間だけ返して他は無視します。たとえば「Template:居留守」が <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> 電話がかかってきたら<onlyinclude>いない</onlyinclude>って言って。 </div> だったならば、「Template:居留守」を開くと、 {{Indent|1= 電話がかかってきたらいないって言って。}} と表示されますが、他のページから <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{居留守}} </div> のように呼び出された場合に、 {{Indent|1= いない}} とだけ表示されます。 ==== テンプレートページの表示内容の指定 ==== 先の2つと逆の用途のものが、<code><includeonly></code> です。これは、<code><includeonly></code> と <code></includeonly></code> に挟まれた部分が他のページから呼び出されたときだけ有効で、そのページ(テンプレート)を直接表示した時には無視される、というものです。たとえば、「Template:へそくり」が <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> 貯金は1万円<includeonly>だけどほかにスイスに1億フラン</includeonly>あります。 </div> の場合、「Template:へそくり」を直接表示すると {{Indent|1= 貯金は1万円あります。}} ですが、 <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{へそくり}} </div> のように呼び出された場合には {{Indent|1= 貯金は1万円だけどほかにスイスに1億フランあります。}} となります。 テンプレートを貼ったページをあるカテゴリに入れたいが、テンプレートそのものはそのカテゴリに入れたくない、というような場合によく使われます。たとえば、削除依頼テンプレートの削除カテゴリなどです。 ===== <includeonly>使用時の注意 ===== <'''includeonly'''> と </'''includeonly'''> の前後にある'''改行'''は呼び出される部分に含まれています。例えば <'''includeonly'''></'''includeonly'''> '''内'''のテンプレート本体と <'''noinclude'''></'''noinclude'''> '''内'''のテンプレートの説明等だけのテンプレートページでは、<'''noinclude'''></'''noinclude'''> '''外'''が呼び出される部分になるので、</'''noinclude'''> と <'''includeonly'''> の間や </'''includeonly'''> と <'''noinclude'''> の間にある'''改行'''は呼び出される部分に含まれます。また、<'''includeonly'''> の直後と </'''includeonly'''> の直前の'''改行'''も呼び出される部分に含まれます。 ==== 一覧 ==== 以上3つを表にまとめると次のようになります。 {| class="wikitable" border="1" style="text-align:center" |- !空間 !<noinclude>!!<onlyinclude>!!<includeonly> |- |ソース |A<noinclude>B</noinclude>C |A<onlyinclude>B</onlyinclude>C |A<includeonly>B</includeonly>C |- |テンプレートを直接<br />表示したとき |ABC||ABC||AC |- |呼び出したページ<br />における表示 |AC||B||ABC |} なお、テンプレートを呼び出した場合、<onlyinclude> が最優先され、その外側にある <nowiki>, <pre>, <noinclude> は効果がありません。 {| class="wikitable" border="1" style="text-align:center" |- !空間!!<nowiki>!!外側の <noinclude>!!内側の <noinclude> |- |ソース | style="text-align:left" | <nowiki><br />A<onlyinclude>B</onlyinclude>C<br /></nowiki> | style="text-align:left" | <noinclude><br />A<onlyinclude>B</onlyinclude>C<br /></noinclude> | style="text-align:left" | <onlyinclude><br />A<noinclude>B</noinclude>C<br /></onlyinclude> |- |テンプレートを直接<br />表示したとき |A<onlyinclude>B</onlyinclude>C |align=center|ABC |align=center|ABC |- |呼び出したページ<br />における表示 |B |B |AC |} === システム変数 === テンプレートの中に <code>{{PAGENAME}}</code> などの[[Help:ページの編集#変数|システム変数]]を書いて、他のページから呼び出した場合には、呼び出している側のページにあるものとして認識されます。たとえば、「Template:子分」に <div style="padding:0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> {{PAGENAME}} </div> と書いて保存し、このテンプレートをページ「親分」において <div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{子分}} </div> のように呼び出した場合には、呼び出した側のページ名である「親分」が表示されます。 時刻などのシステム変数を、テンプレートに置くと、常に閲覧した時点のものが表示されます。テンプレートを貼った時点に固定するには、テンプレートの中で <code><nowiki>{{<includeonly></nowiki><font color="red">subst:</font><nowiki></includeonly>CURRENTTIME}}</nowiki></code> のようにし、このテンプレートをさらに <code>subst:</code> で呼び出します。 システム変数について詳しくは[[Help:マジックワード]]などをご覧ください。 === テンプレートの中で条件文を使う === テンプレートの中で条件文を使うことができます。詳細は[[Help:条件文]]をご覧ください。 === テンプレートの中でテンプレートを呼び出す === テンプレートの中でさらにテンプレートを呼び出すことができます。 {| class=wikitable |- ! !テンプレート !テンプレート !読み込み方 !表示 |- !単純な例 |「Template:内々」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px green dashed; font-family: monospace"><nowiki>うえお</nowiki></div> |「Template:内」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace"><nowiki>い{{内々}}か</nowiki></div> |<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>あ{{内}}き</nowiki></div> |あいうえおかき |- !引数を受け渡す |「Template:孫」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px green dashed; font-family: monospace"><nowiki>う{{{1}}}お</nowiki></div> |「Template:子」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace"><nowiki>い{{孫|{{{1}}}}}か</nowiki></div> |<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>あ{{子|え}}き</nowiki></div> |あいうえおかき |- !引数でテンプレート変数<br/>を指定する |「Template:部屋」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px green dashed; font-family: monospace"><nowiki>う{{{住所}}}お</nowiki></div> |「Template:家」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace"><nowiki>い{{部屋|{{{1}}}=え}}か</nowiki></div> |<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>あ{{家|住所}}き</nowiki></div> |あいうえおかき |- !引数でテンプレート名<br/>を指定する |「Template:皿」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px green dashed; font-family: monospace"><nowiki>うえお</nowiki></div> |「Template:盆」<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace"><nowiki>い{{{{{1}}}}}か</nowiki></div> |<div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px blue dashed; font-family: monospace"><nowiki>あ{{盆|皿}}き</nowiki></div> |あいうえおかき |} テンプレートとして読み込んだ中に <code>{{読み込んだテンプレート自身の名前}}</code> があるとさらには展開されず、そのまま文字として表示されます。たとえば「Template:ナルシスト」に <div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px brown dashed; font-family: monospace"> {{ナルシスト}}なの </div> として <div style="padding:1em 0.5em 1em 0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> {{ナルシスト}}です </div> と呼び出すと、 {{Indent|1= <nowiki>{{ナルシスト}}</nowiki>なのです}} と表示されます。なお、「Template:ナルシスト」自身を表示すると、一回は「Template:ナルシスト」を展開するため、 {{Indent|1= <nowiki>{{ナルシスト}}</nowiki>なのなの}} となります。 通常、このような自分自身の読み込みは、<noinclude>で囲まれるか<onlyinclude>の外に置かれた説明文の中で行われます。そのような時には、ここに挙げたような問題は生じません。 === テンプレート冒頭の特殊文字 === テンプレートが、<code>: ; * #</code> のいずれかで始まっているとき、それは行頭にあると見なされ、[[Help:ページの編集#見出し・段落・横線|インデント]]、[[Help:ページの編集#箇条書き|箇条書き]]と見なされます。それを避けるためには、<code>: ; * #</code> などを <code><nowiki><nowiki> </nowiki></nowiki></code> で囲むか[[Help:ページの編集#文字参照|文字参照]]を使ってください。 === ヒント === 長いテンプレートのソースは、 <pre> {{テンプレート名 |変数1={{{1}}} |変数2={{{2}}} |... }} </pre> のように書くと読みやすくなります。 テンプレート内の改行が呼び出している記事に無駄な空白を作ってしまうことがあります。一般的に、テンプレート内に改行を2つ以上続けて使わないようにしましょう。 == テンプレートの目的と基本的ルール == * 定型メッセージを記事内に一貫した形で挿入するため(スタブや曖昧さ回避ページであることなどを示す) * 簡単なショートカットを使って、著作権侵害、中立性の問題などのさまざまな問題に関する定型文を挿入するため * 関連する記事をまとめたリンク集への誘導テンプレートやサイドバーを作成するため * Infoboxを作成するため * 多言語間でほとんど共有できるようなテキストの言語間流用性を提供するため。各言語毎に一部の用語だけが異なっている場合、その用語にテンプレートを使い、各言語のプロジェクトでそのテンプレートの中身を定義することで、簡単に共有を実現します。''[[:en:Wikipedia:Taxobox usage|taxoboxes]]''で採用されています。 記事の名前空間にあるテンプレートは読者の理解を促す情報を提供します。これらは関連するページへのリンクを支援したり、内容が不足していることを警告する情報を示すのに使います。編集者にのみ関係するテンプレートの情報は記事のノートページに使用します。 標準名前空間の記事の一部をテンプレート名前空間においてはいけません。これらは直接記事内に記入してください。 ウィキメディアプロジェクト以外の外部サイトへのリンクを系統的に行うためのテンプレートを作ってはいけません。 [[Wikipedia:カテゴリ]]や[[Wikipedia:関連項目]]で充分なときに、他の記事へのリンク集を作成するためにテンプレートを作らないでください。ウィキペディアンの皆さんの主観にもよりますが、項目の数が数個程度なら関連項目だけでじゅうぶんであり、10個程度になってからカテゴリを作ると考えるとよいでしょう。カテゴリは一つあればかなりの項目をサポート出来るので、カテゴリを使っても見にくくなってきてから、テンプレートを作ることを検討しましょう。 == 他のプロジェクトのテンプレート == 他のプロジェクト(他言語版や姉妹プロジェクト)のテンプレートをそのまま読み込むことはできません。 == ウィキペディアにおけるテンプレートの歴史 == ウィキペディアの最初の35ヶ月間は、テンプレートや包含のメカニズムが全くありませんでした。2003年12月6日のMediaWiki 1.2.6で[[:en:Wikipedia:MediaWiki namespace|MediaWiki namespace]]が導入され、<nowiki>{{msg:...}}</nowiki>の構文を利用して、ユーザーインターフェイスだけでなく定型メッセージの作成にも利用されました。例えば<nowiki>{{msg:stub}}を{{stub}}</nowiki>の代わりに入力していました 2004年5月30日のMediaWiki 1.3へのアップグレードの間にこの機能は Template名前空間の利用に置き換えられました。"[[:en:Special:Contributions/Template namespace initialisation script|テンプレート名前空間初期化スクリプト]]"の機能として、システムメッセージ以外の全てのメッセージは新しい名前空間に移され、多くの[[Wikipedia:リダイレクト|リダイレクト]]が残りました。初期化スクリプトはまたリダイレクトを回避するために記事内のMediaWiki名前空間への参照をTemplate:で置き換えました。 英語版の[[Wikipedia:削除依頼]](当時は "votes for deletion" または "VfD"と呼ばれていました)は、短期間、MediaWiki名前空間の"Template:VfD-''ページ名''"というシステムメッセージを利用していました。これは2004年7月にTemplate:名前空間に移され、現在は"Template:VfD-''ページ名''"という名前になっていますが、このテンプレートを使わずに、今ではサブページが利用されています。 == 関連項目 == * [[Wikipedia:Template メッセージの一覧]] * [[m:Help:Template for complete syntax reference]] * [[:en:Wikipedia:Template standardisation]] * [[:en:Wikipedia:Avoid using meta-templates]] [[Category:ウィキペディアのテンプレート|*]] [[ar:مساعدة:قالب]] [[bn:সাহায্য:টেমপ্লেট]] [[ca:Ajuda:Plantilla]] [[cs:Nápověda:Šablony]] [[de:Hilfe:Vorlagen]] [[dsb:Pomoc:Pśedłogi]] [[en:Help:Template]] [[eo:Helpo:Ŝablono]] [[es:Ayuda:Plantillas]] [[et:Juhend:Mall]] [[fa:راهنما:الگو]] [[fi:Ohje:Malline]] [[fr:Aide:Modèle]] [[gl:Wikipedia:Modelos]] [[he:עזרה:תבניות]] [[hr:Wikipedija:Predlošci]] [[hsb:Pomoc:Předłohi]] [[it:Aiuto:Template]] [[km:ជំនួយ:ទំព័រគំរូ]] [[ms:Bantuan:Templat]] [[nl:Help:Gebruik van sjablonen]] [[pt:Wikipédia:Predefinições]] [[ro:Ajutor:Formate]] [[ru:Википедия:Механизм шаблонов]] [[simple:Help:Template]] [[sr:Помоћ:Шаблон]] [[tr:Yardım:Şablon kullanımı]] [[uk:Довідка:Шаблони]] [[yi:הילף:מוסטער]] [[zh:Help:模板]]
このページで使用されているテンプレート:
MediaWiki:Istemplate
(
ソースを閲覧
)
テンプレート:HJ:h
(
ソースを閲覧
)
テンプレート:Hatnote
(
ソースを閲覧
)
テンプレート:Indent
(
ソースを閲覧
)
テンプレート:Redirect3
(
ソースを閲覧
)
テンプレート:Tl
(
ソースを閲覧
)
テンプレート:ショートカット
(
ソースを閲覧
)
テンプレート:ネタバレ
(
ソースを閲覧
)
モジュール:Arguments
(
ソースを閲覧
)
モジュール:Hatnote
(
ソースを閲覧
)
ヘルプ:テンプレート
に戻る。