313
回編集
編集の要約なし |
編集の要約なし |
||
2行目: | 2行目: | ||
このページは、Template名前空間内用に作成されたメッセージの一覧が、記事の更新という形で、掲載されていきます。 | このページは、Template名前空間内用に作成されたメッセージの一覧が、記事の更新という形で、掲載されていきます。 | ||
==テンプレートメッセージの利用方法== | ==テンプレートメッセージの利用方法== | ||
=== | === テンプレートを呼び出す === | ||
テンプレートをページ内に呼び出すには、次のように記述します。 | |||
<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}}</nowiki>と<nowiki>{{CfD}}</nowiki>(最後の"d"は大文字・小文字)は区別されます([[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= [[{{FULLPAGENAME}}|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]]、[[Microsoft Windows]]の[[コマンド (コンピュータ)|コマンド]]|:en:SUBST}}<!-- ?→ディスクドライブ仮想化ソフト --> | |||
{{otheruses2||英語の略語subst.の意味|[https://dictionary.goo.ne.jp/word/en/subst./ goo辞書「subst.」]|wikt:en:subst.}} | |||
{{see also|en:Wikipedia:Substitution|en:Help:Substitution}} | |||
{{ショートカット|H:SUBST|H:SAFESUBST}} | |||
<code><nowiki>{{テンプレート名}}</nowiki></code>というテンプレートタグは、「テンプレートをそこで呼び出す」という指示ですので、閲覧する時点でのテンプレートの内容が挿入されます。テンプレートが更新されれば、そのテンプレートを呼び出しているページにも変更が反映されます。 | |||
しかし、それでは不便なこともあります。編集した時点でのテンプレートの内容を恒久的に保存したい場合です。この要求に応えるため、テンプレート呼び出しをその内容で置き換えることができます。決まった呼び方はありませんが、「'''subst展開'''」と呼ばれています。(注:<nowiki><ref></nowiki>タグ内ではsubst展開は使用できません。展開されず、<nowiki>{{subst:テンプレート名...}}</nowiki>がそのまま残ります。) | |||
<nowiki/><div style="padding:0.5em; margin:0; border: 1px blue dashed; font-family: monospace"> | |||
<nowiki>{{</nowiki>{{Color|red|subst:}}テンプレート名....}} | |||
</div> | |||
このように <code>subst:</code> を <code><nowiki>{{</nowiki></code> とテンプレート名の間に記述します。subst展開を使って投稿すると、次に編集画面を開いたときには、<code><nowiki>{{subst:テンプレート名}}</nowiki></code> は残っておらず、テンプレートの内容のみが表示されているでしょう。 | |||
subst展開を使うかどうかはテンプレートごとに決められています。基本的には、テンプレートの内容を常に反映し続けたい場合はsubst展開を使わず、逆にその時点でのテンプレート内容で確定したい場合はsubst展開を使うことになります。テンプレートによっては、どちらでも構わない場合もあります。テンプレートを使用する際と同様、そのテンプレートの説明をお読みください。 | |||
テンプレート呼び出しと同様、subst展開でもリダイレクトは有効です。つまり、「Template:別名」が「Template:転送先」へのリダイレクトの時、<code><nowiki>{{subst:別名}}</nowiki></code>でも<code><nowiki>{{subst:転送先}}</nowiki></code>でも同じ結果になります。 | |||
==== subst展開とライセンス ==== | |||
subst展開では、他のページの内容を複製することに相当することが起こります。そのため、複製に関するライセンス規定([[Wikipedia:著作権|著作権]])を考慮し、複製元についての情報を「[[Help:要約欄|要約欄]]」に記入しておくと良いでしょう。 | |||
要約欄では、ページの分割や統合を行う際と同様に、subst展開したテンプレートへリンクしておくと良いかもしれません。例えば、「<code><nowiki>[[Template:○○]]をsubst展開</nowiki></code>」や「<code><nowiki>{{subst:[[Template:○○|]]}}</nowiki></code>」のように記入します。 | |||
{{See also|Wikipedia:井戸端/subj/substによるテンプレート展開はGFDL違反にあたるのか}} | |||
==== subst展開に対応したテンプレート ==== | |||
subst展開に対応したテンプレートを書く際には、注意する点があります。 | |||
subst展開されたテンプレートの内部では、テンプレート呼び出し、マジックワード、条件文は展開されません。これらを展開するには、それぞれに subst: を付ける必要があります。ただし、普通に付けて保存してしまったのでは、保存した時点で展開されてしまいます。よって、以下のような小細工を行う必要があります。 | |||
# includeonly で囲む方法。<nowiki><includeonly>subst:</includeonly></nowiki> | |||
# 引数のデフォルト値を用いる方法。 | |||
#* 引数名substを使う場合 <nowiki>{{{subst|subst:}}}</nowiki> | |||
#* 無名引数を使う場合 <nowiki>{{{|subst:}}}</nowiki> | |||
これらを記述した場合、テンプレート呼び出し時に文字列「subst:」が出力されてしまう不具合がありました。この不具合があったことにより、条件文などを含む場合には、テンプレート作成時に普通のテンプレート呼び出しとsubst展開のどちらか一方を選択することが必要でした。 | |||
safesubst: は、この不具合を解決します。上記例にある subst: の代わりに safesubst: を用いることで、テンプレート呼び出し時に余分な文字列が出力されず、subst展開時と同じ値を返します。 | |||
何らかの理由により、必ずsubst展開しなければならないテンプレートでは、{{tl|subst!}} を使用します。このテンプレートは、subst展開を行わない通常のテンプレート呼び出しを行った場合には、エラーを表示します。このようにsubst展開に関連し支援するテンプレート群がいくつかあります。[[Template:Subst展開支援テンプレート一覧|Subst展開支援テンプレート一覧]]参照。 | |||
=== テンプレートのソースを表示する === | |||
通常あまり使うことはありませんが、テンプレートの説明をするようなとき、テンプレートのソースをそのまま(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:サブページ]]をご覧ください。 | |||
===導入されている全テンプレート一覧=== | ===導入されている全テンプレート一覧=== | ||
* [{{fullurl:Special:Allpages|namespace=10}} Template名前空間内にある全ページ] | * [{{fullurl:Special:Allpages|namespace=10}} Template名前空間内にある全ページ] | ||
<br style="clear:both"/> | <br style="clear:both"/> |