Help:テンプレートデータ
注意: このページを編集すると、編集内容が CC0 のもとで公開されることに同意したと見なされます。詳細はパブリック・ドメインのヘルプ ページを参照してください。 |
TemplateData (テンプレートデータ)は、ウィキテキスト テンプレートに関連付けられたパラメーターの情報を保存し、それを編集インターフェースが取得してテンプレート エディター(これはすべて利用者がテンプレートをページに追加したり編集したりするのを助けるためのものです)に提供できるようにする拡張機能です。
2019年4月現在、テンプレートデータ機能はウィキメディアのすべてのウィキで、未登録利用者を含むすべての利用者に対して、既定の UX (利用者体験) の一部となっています。 多くのスクリプト、ツール、およびガジェットと同じようにして、既定のソースエディターとビジュアルエディターの両方に組み込まれています。 この機能を自身のウィキで使用したい場合は、Extension:TemplateData をインストールします。
テンプレートにこの拡張機能で使うテンプレートデータを追加するには、テンプレートの解説文書のページに小さくて単純な JSON のコードブロック(後述)を挿入します。 これは手動でも、テンプレートデータエディターでも行えます。後者は TemplateData 拡張機能がインストールされているウィキでテンプレートの「編集/ソースを編集」ページからアクセスできるグラフィカルユーザインタフェースです。 JSON には、テンプレートのパラメーターとそれらのパラメーターに関する情報、およびテンプレート全体に関する情報のリストが含まれます(詳細は下記をご参照ください)。
テンプレートデータを含むテンプレートでは、利用者がそのテンプレートを追加するときに、この情報がユーザーインターフェースに表示されます。 場合によっては、当該のテンプレートを編集したり挿入するときのエディターの挙動が変化し、利用者が当該のテンプレートの追加を実施するときに必要となる手順がはるかに簡単になります。
歴史
テンプレートデータTemplateData の開発は2013年、VisualEditor を念頭に始まり、当時は MediaWiki の試験段階に置かれました。 ビジュアルエディターはウィキメディアのウィキ群向けの主要な視覚的編集インターフェースで、テンプレートデータがあればテンプレートの追加をするとき、より利便性の高いインターフェースにできます。 ビジュアルエディターでは即時に公式にサポートされました。 2013年から2016年にかけて様々なウィキメディアのウィキ群でビジュアルエディターが既定の機能として導入され、テンプレートデータもその一環となりました。
2016年12月には、ビジュアルエディターのインターフェースはベータ機能として、ソースコード編集に使えるようになりました。 これは2017年版ウィキテキストエディター と名付けられました。 このとき初めて、テンプレートデータの機能がソース編集に導入されました。
2018年3月、サム・ウィルソン Sam Wilson は、テンプレートデータを利用してテンプレートを追加する手順をより簡略化するために既定の ウィキメディア ソースエディター WikiEditor (別称2010年ウィキエディター)向けに設計された GUI テンプレート エディター拡張機能である、 TemplateWizard を開発しました。 2019年4月、 TemplateWizard はウィキメディアの全てのウィキで2010年ウィキテキスト エディターの既定部分になりました。 これはすなわち、ウィキメディアのウィキ群において、テンプレートデータはビジュアルエディターでもソースエディターでも既定の部分となったことを意味します。
テンプレートデータの追加または編集
テンプレートデータを追加または編集するには、まず「/Template:テンプレートの名前」にあるテンプレートのページを開きます。
現状を確認する
テンプレートデータを追加または編集する前に、そのテンプレートに「解説文書の下位ページ」があるか確認します。 次にそのテンプレートに既にテンプレートデータが含まれているかどうか、ある場合はテンプレートのページにあるのか下位の解説文書ページにあるのかを確かめます。
解説文書下位ページ
ウィキメディアのほとんどのウィキでは、使い方の注記やテンプレートを含めるべきカテゴリなどといった、テンプレート本体に書くべきではないデータを、主に2つの方法で保存しています:
- 大多数のテンプレートは、使用法やその他のデータはテンプレートページ自体には属さず、(右記のような)解説文書下位ページに保持しています:「/Template:Templatename/doc」。 このようなページでは、{{Documentation }}テンプレートが /doc ページのコンテンツを全てテンプレートのページに参照読み込みしており、これによってテンプレートのソースコードの見た目がずいぶんとスッキリします。
- 一部のテンプレートはそれらの情報をそのメインページに置いています。 この事例では、
<noinclude>
タグの間に{{Documentation|content=
が書いてある箇所を探します。
これらの表示はウィキごとに見た目が異なるかもしれません。
ごくまれには、上記のチェック項目を確かめたのに、それでもメインのテンプレートページに解説文書が残る場合があります。
利用者が「{{Documentation|
」から「|content=
」までの間にカスタム /doc ページ名を追加し、なおかつ「|content=
」の後にコンテンツを追加した場合に発生します。
あるいはまた、ページ最下部を見て次のサンプルのような通知が表示されていないか確かめてください。「上記の解説文書は Template:Templatename/doc から参照読み込み(トランスクルード)されています。」
解説文書下位ページがないテンプレート
テンプレートに解説文書下位ページがない場合は作成し、テンプレートの解説文書をそこ(またはそのプレースホルダー)に移動します。 すると、解説文書下位ページにテンプレートデータを追加できます。
解説文書下位ページの作成と移動
実行するにはテンプレートのメインページで「編集」または「ソースを編集」をクリック、<noinclude>
タグに挟まれた記述を探します(通常は、最下部にあります)。
内容は以下のようになります。
<noinclude>
{{Documentation|content=
== 使用法 ==
使用法の情報。
== 見出しのその他のサンプル ==
コンテンツのその他のサンプル
[[カテゴリ:カテゴリの例 ]]
[[カテゴリ:カテゴリの例2]]
}}
</noinclude>
既にテンプレートデータも含まれているかもしれません。 その場合、内容は以下のようになります:
<noinclude>
{{Documentation|content=
...
<templatedata>
{
"description": "",
"params": {
"1": {
"label": "パラメーターの例",
"description": "パラメーターの説明の例",
"type": "string"
}
}
}
</templatedata>
</noinclude>
「|content=
」より後で「</noinclude>
」より前にあるすべてを選択して切り取り、クリップボードか一時文書に保存します。「|content=
」を削除して、次のテキストのみを残します:
<noinclude>
{{Documentation}}
</noinclude>
テンプレート ページを保存してください。
さて、新しく下位ページを作成するには、ブラウザのアドレスバーを見て、URLの末尾に /doc を追加します。 ↵ Enterを押し、新しいページ作成のオプションを選択します。
ご利用のウィキで{{Documentation subpage }}の通知テンプレートを採用しているなら、新しいページの最上部に追加しておきます。 その他のテンプレートの追加も検討しましょう。ご利用のウィキで採用済みなら{{Purge button }}や{{Purge }}のリンクがその一例です。
前のページで切り取ったり保存しておいたテキストを挿入します(もし存在するなら通知テンプレートの下)。
あらゆるカテゴリは<includeonly>
タグで挟んで、テンプレートのメインページにのみ適用されるようにします:
<includeonly>
[[Category:Example category]]
[[Category:Example category 2]]
</includeonly>
多くのウィキでは{{Sandbox other}}
というテンプレートがあります。
編集作業中のテンプレートがサンドボックスバージョン(「Template:テンプレート名/sandbox」にある)に存在しそうな場合には、ここでこのテンプレートを使い、サンドボックスページにカテゴリが適用されないようにします:
<includeonly>{{sandbox other||
[[Category:Example category]]
[[Category:Example category 2]]
}}</includeonly>
最後に、ページを公開します。
#方法節の案内に従って、解説文書下位ページでテンプレートデータを追加または編集できるようになりました。
テンプレートのメインページにテンプレートデータを追加および編集する
/doc ページを作成できない場合は、テンプレートデータをテンプレートのメインページで追加/編集できます。手順は#方法に従います。
テンプレートに解説文書の下位ページがある場合は、メインページと解説文書の下位ページの両方でテンプレートデータ( <templatedata>
タグに続けて波括弧 {}
内に配列)があるかどうか確認します。
別の方法として、TemplateData 拡張機能はこの検査を利用者に代わって実行します。 どちらかのページで「編集」または「ソースを編集」をクリックします。 どちらかのページにテンプレートに対応するテンプレートデータがある場合、ページ上部に次のいずれかを表示する黄色の通知が現れます:
- 注意: 関連ページ「Template:テンプレート名/doc」にテンプレートデータブロックが既に存在します。
または
- 注意: 関連ページ「Template:テンプレート名」にテンプレートデータブロックが既に存在します。
テンプレートの解説文書下位ページにテンプレートデータがある場合
当該のテンプレートのテンプレートデータが、解説文書下位ページに存在する場合、編集はそちらで行ってください。 これを実行するには見出し「 テンプレート解説文書」(または同等)の後にある 「[編集]」ボタンをクリック、または既に/docページを開いている場合は、ページ上部の「編集」または「ソースを編集」をクリックします。 テンプレートデータの追加もしくは編集は、#方法の案内に従います。
メインページにテンプレートデータがある場合
当該のテンプレートのテンプレートデータがメインページに存在する場合、ここでも選択肢は2つあります:
- このとき解説文書の下位ページに移動してもかまいません。こちらの選択肢の方がお勧めです。
- あるいは、テンプレートのメインページで編集します。
テンプレートデータを解説文書下位ページに移動するには
これを実行するには、テンプレートのメインページで「編集」または「ソースを編集」をクリック、<noinclude>
タグの中にある <templatedata>
タグを探します。
内容は以下のようになります。
<noinclude>
{{Documentation}}
<templatedata>
{
"description": "",
"params": {
"1": {
"label": "パラメーターの例",
"description": "パラメーターの説明の例",
"type": "string"
}
}
}
</templatedata>
</noinclude>
コードから <templatedata>
タグとそれに挟まれた内容だけを切り出したら、ページを保存します。
次に、解説文書下位ページを編集するため見出し「 テンプレート解説文書」 (もしくは同等) の右にある「[編集]」ボタンをクリックします。
「テンプレートデータ」のような見出しを入力し、この見出しの下にテンプレートデータを貼り付けます。
#方法節の案内に従って、テンプレートデータの編集ができるようになりました。
テンプレートのメインページでテンプレートデータを編集する
テンプレートデータを解説文書ページ /doc に移動したくない場合は、メインのテンプレートページで編集できます。 テンプレートデータの編集方法については#方法節を参照してください。
テンプレートに/doc下位ページはあるが、まだテンプレートデータがない場合
もしテンプレートにまだテンプレートデータがない場合には、解説文書下位ページに追加する必要があります。
これを実行するには、見出し「 テンプレート解説文書」 (または同等) の後にある 「[編集]」ボタンをクリック、または既に/docページを開いている場合は、ページ上部の「編集」または「ソースを編集」をクリックします。 「テンプレートデータ」のような見出しを入力し、この見出しの下に追加します。 #方法節にテンプレートデータの追加方法を示します。
方法
テンプレートデータエディターの方法
これはテンプレートデータの編集や追加の簡単な方法で、経験が浅い利用者にお勧めします。
テンプレートデータエディターは、テンプレートデータの追加と編集を行うためのグラフィカルユーザーインターフェースです。 TemplateData 拡張機能の一部であり、「編集」または「ソースを編集」をクリックすると、どのテンプレートのページ(もしくは解説文書の下位ページ)でも利用可能です。
「編集」または「ソースを編集」をクリックすると、編集領域とページ名の上に「テンプレートデータを編集」というボタンが表示されます。
このボタンをクリックするとテンプレートデータエディターが開きます。 ページに既存のテンプレートデータがある場合、自動的に表示されます。
上述の窓には次の機能があります。
- 最上位の項目はインターフェースのテキストの言語を選択します。複数の言語でテキストコンテンツを入力して、当該のウィキの言語ではなく、それぞれの利用者の個人設定に基づく言語で表示できるようにします。異なるウィキにはそれぞれ全く異なるテンプレートのデータベースがあります。 テンプレートデータに言語が存在しない場合、インターフェースは利用者にウィキの既定の言語のみ提示しますが、利用者は「言語を追加」をクリックして、さらに入力を追加できます。 言語コードは、説明やラベルなどといった適用可能なパラメーターの横の丸括弧の中に表示されます。
- 次の項目はテンプレートの説明です。これはテンプレート全体としての説明であり、テンプレートを追加する間、テンプレートエディターの数多くの場所で利用者に表示されます。このパラメーターとその効果はこちらにまとめてあります。
- 3番目の項目はテンプレートのウィキテキストの書式を制御します。このパラメーターは、利用者が「適用」を押したときにウィキテキストをどのようにレイアウトするかを、主に
"inline"
(1行)と"block"
(複数行)の2種類で定義します。このパラメーターとその効果は、こちらにまとめています。
- 利用者が「カスタム」を選択した場合、「カスタム書式文字列」の下に後述のカスタム書式の規則に従ってウィキテキストを入力し、利用者が「適用」を押したときに適用されるテンプレートのカスタムレイアウトを作成します。
- 4番目の項目はテンプレートのパラメーターに設定をします。 テンプレートデータでパラメーターが既に定義されている場合、この領域に一覧が表示されます。 テンプレートデータが存在しないパラメーターが、テンプレートのソースコードで指定してある場合、「2件の提案パラメーターを追加」という名前のボタンが表示されるかもしれません。 エディターはこれらの提案をテンプレートのソースコードから、
{{{parametername}}}
または{{{parametername|}}}
を探して抽出しています。 「2件の提案パラメーターを追加」をクリックすると、ソースコードで定義されている名前を使って、パラメーターが追加されます。 上部に、例えば「2 個の引数が新たに取り込まれました: パラメーターの名前」という緑色の通知も表示されます。 - 編集窓のいちばん下に「パラメーターを追加」ボタンがあります。これを使うと手動でパラメーターを、自分で選んだカスタムの名前で追加できます。
このリストにあるパラメーターをどれでもクリックして、次の段階に続けてください。これによりパラメーターの情報を編集できます。
これらの機能とその効果のすべては、#パラメーターの名前内節にまとめられています。
- 「パラメーター情報を除去」をクリックすると、パラメーターとそのパラメーターのすべての情報をテンプレートデータから削除します。その後に「X」を押さない限り、テンプレートデータでやり直しも取り消しもできません。「適用」を押した後で、Ctrl+Z を押すことであらゆる変更を取り消すことはできます。
- 変更をした後でテンプレートデータエディターから出ると、変更を破棄してもいいのか確認するように促されます。
編集を終えたら、「適用」をクリックしてください。
これによりページの最下部の </noinclude>
タグの直前にテンプレートデータが自動で挿入されます。あるいは既に存在する場合は、そのテンプレートデータの位置を変えることなく、新しい情報で更新します。
また、テンプレートデータのテキストは「適用」ボタンを押したときに選択されます。
テンプレートデータエディターはテンプレートデータの最下部に、パラメーター "paramOrder"
を作成(もしくは既に存在していれば更新)します。
"paramOrder"
はテンプレートデータエディターに表示された順序で、現状のテンプレートデータパラメーターが含まれます。
テンプレートデータエディター内で左側の三本の水平なバーを使って、パラメーターを上や下へドラッグすることによって、 "paramOrder"
を変更できます。
"paramOrder"
とその効果はこちらで記述されてます。
その後、「保存」ボタンを押してページの改訂箇所を保存します。
手動の処理
手動でテンプレートデータの追加や編集ができます。
テンプレートデータは JSON で書かれていますが、利用者は JSON がわからなくてもテンプレートデータを配置できます。
テンプレートデータは少数の非常に簡単な規則に従い、数十個の事前に定義されたパラメーターのみを受け入れ、通常は "parameter": "value"
の書式に従います。
テンプレートデータを手動で追加する
考慮すべき点:
- テンプレートの解説文書下位ページにテンプレートデータを追加する(推奨)場合、当該ページのどこに配置してもかまいません。ご利用の言語版で通例となる配置場所がないかどうかご確認ください。例えば、ウィキペディア英語版では通常、テンプレートデータは解説文書ページの最下部のあたりにあり、ドイツ語版では通常、ページ最上部です。
- テンプレートのメインページにテンプレートデータを追加する(非推奨、#Prior checks参照)場合、
<noinclude>...</noinclude>
タグの中に置くことを確実にしなければなりません。
対象ページで「編集」または「ソースを編集」をクリックし、それからテンプレートデータを追加するつもりの場所へ移動して、「テンプレートデータ」という見出しを書きます。
多くのウィキには、テンプレートデータに関する短い通知を追加するテンプレート {{TemplateData header }} があります。もしお使いのウィキにあれば、見出しの後に追加します。
テンプレートデータの追加を始めるには、開きおよび閉じ <templatedata>
タグ、そして新しい行に波括弧の対を、間に空行を挟んで入力します。
<templatedata>
{
}
</templatedata>
次に、2つの波括弧の間の空行にインデントを追加し、パラメーターの追加を開始します。パラメーターについての詳細は#テンプレートデータのパラメーター節をご参照ください。ほとんどはオプションですが、中には強く推奨されるものもあります。
パラメーターは任意の順序で追加できますが、以下はテンプレートデータ解説文書に最適で、エディターにとってコンテンツが最も使いやすくなる順序です:
<templatedata>
{
"description": "",
"format": "",
"params": {
"parameter1": {
"aliases": ["",""]
"label": "",
"description": "",
"type": ""
}
},
"paramOrder": [
""
]
}
</templatedata>
パラメーターが、例えば "params"
オブジェクトで、そのオブジェクト内に維持されていることを確認します。さもなくば、保存しようとしたときに「予期しないプロパティ「プロパティ名」です。」というエラーを引き起こします。
例
こちらは仮想のクリーンアップ用のテンプレートに対するいくつかのテンプレートデータの例です。 このようなテンプレートは通知を表示し、入力された年月に基づく日付付きのカテゴリにページを分類することになるでしょう。 通知はトークページの節へのリンクも含むかもしれません。テンプレートデータはこのようなものになるでしょう:
<templatedata>
{
"description": "このテンプレートを使い、記事にクリーンナップが必要だと示します。",
"format": "inline",
"params": {
"date": {
"label": "年と月",
"description": "テンプレートが挿入された年と月",
"type": "string",
"autovalue": "{{SUBST:CURRENTMONTHNAME}} {{SUBST:CURRENTYEAR}}",
"example": "2013年1月",
"suggested": true
},
"reason": {
"aliases": ["1"],
"label": "理由",
"description": "この記事のクリーンナップが必要な理由",
"type": "string"
},
"talk": {
"aliases": ["talksection"],
"label": "トークページに届く通知",
"description": "関連する議論が載ったトークページの節",
"type": "string"
}
},
"paramOrder": [
"date",
"reason",
"talk"
]
}
</templatedata>
対応するテンプレートデータ解説文書の表示は以下のようになります:
このテンプレートを使い、記事にクリーンナップが必要だと示します。
Parameter | Description | Type | Status | |
---|---|---|---|---|
年と月 | 日付 | テンプレートが挿入された年と月
| String | suggested |
理由 | 理由 1 | この記事のクリーンナップが必要な理由 | String | optional |
トークページの節 | トークページ talksection | 関連する議論が載ったトークページの節 | String | optional |
テンプレートデータのパラメーター
テンプレートデータで利用可能なすべてのパラメーターを(すなわちウィキ・ソースの<templatedata>...</templatedata>
タグで挟まれた文言)は、以下に列挙して説明と例を示します。
より技術的な詳細はExtension:TemplateData#書式に列挙しています。
- この情報は2021年11月時点での現状であり、新規パラメーターの追加あるいはテンプレート編集インターフェイスが既存のパラメーターをサポートしたり、特定のパラメーターを異なる扱い方をするように更新されて変化する可能性があります。
- ウィキ マークアップは説明やラベルでは動作しません。 厳密にプレーンテキスト文字列のみです。
- 説明、ラベル、例、あるいは既定において、新しい行 ("
\n
") を追加しても、メインのエディター(TemplateWizard、ビジュアルエディター、2017年版ウィキテキストエディター)のいずれでも表示されませんが、自動生成されるテンプレートデータ解説文書には表示されます。 入力欄ではヌル文字列、その他の場所ではスペースに置き換えられます。
パラメーター | 説明 | 例 |
---|---|---|
description |
効果 テンプレートの解説文書ページで、「[テンプレート名]のテンプレートデータ」という小見出しに続いてプレーンテキストで説明が表示されます。 すべての主要なエディター(VisualEditor 、2017年版ウィキテキストエディター 、およびTemplateWizardを使ったWikiEditor )で、説明は主に2か所に表示されます:
ビジュアルエディターおよび2017年版ウィキテキストエディターでは、各検索候補の下の説明をおよそ半角50文字に切り詰めて「...」を添えますが、メインのテンプレートの編集ウィンドウでは説明の全文を示します。 どちらもグレーのテキストで表示されます。 テンプレートのエディタ-のメインの窓では、説明が4行よりも多いと(半角で約 540 文字)、スクロールバーが出現し、黒色のテキストで表示されます。 指定しない場合 説明パラメーターが存在しない、もしくは指定がない場合は、テンプレートの解説文書の小見出し「[template name]のテンプレートデータ」の下に「説明はありません。」と表示されます。 さらに:
|
"description": "コモンズカテゴリにリンクするためのテンプレート",
|
format |
このパラメーターは必須ではありませんが、推奨されます。 このパラメーターが提供されない場合の既定の動作は、既存のパラメーターに対しては既存の書式を保持し、新たに追加されるパラメーターとテンプレートに対してはインライン書式を適用することです。 効果 インライン: ( 挿入すると、以下のように、テンプレートのウィキテキストが要素の間に空白を入れず1行にレイアウトされます:
ブロック: ( 挿入すると、以下のように、テンプレートは要素の間に単一の空白を入れてパラメーターをそれぞれ1行に分配します: {{Foo | bar = baz | longparameter = quux }} カスタム書式: 別の方法として、パラメーターを#カスタム書式で列挙した規則のような、ウィキテキストのカスタム文字列に設定した場合、テンプレートのウィキテキストを指定したウィキテキストのようにレイアウトします。 |
"format": "inline"
|
params |
各パラメーターの名前に続けて、#パラメーターの名前内に列挙したテンプレートデータのサブパラメーターのセットを含めるべきです。 複数のパラメーターがある場合は、各パラメーターオブジェクトの間にコンマを置きますが、最後の閉じる波括弧の後には追加しないでください (例を参照)。 |
"params": {
"parameter1": {
... // パラメーター情報
}, // ここにカンマ
"parameter2": {
... // パラメーター情報
}, // ここにも
"parameter3": {
... // パラメーター情報
} // ただしここにはなし
}
|
paramOrder |
使い方 パラメーター パラメーターは新しい行にする必要はありません( テンプレートデータエディターと同様に、 テンプレートデータ内で言及した全てのパラメーターを含めなければなりません。さもないと「必須のプロパティ「プロパティ名」がありません。」エラーが表示されます。 指定しない場合
他のパラメーターとの関係 TemplateWizard ありの2010年版ウィキテキストエディターでは:
ビジュアルエディターおよび2017年版ウィキテキストエディターでは、各パラメーターの状態とは無関係に |
"paramOrder": [
"date",
"reason",
"talk"
]
|
params 内
パラメーター | 説明 | 例 |
---|---|---|
パラメーター名 |
例えば、テンプレートのソースコード内で、
では、 注記:テンプレートエディターで「 使い方 これらの「パラメーター名」オブジェクトのそれぞれは、さらなるテンプレートデータのパラメーターの形式で、そのパラメーターに関する情報のすべてを含むべきです。 これらは下記の節「パラメーターの名前内」に列挙されています。 |
"1": { // パラメーターの名前
... // ここにパラメーターに関する情報
}
|
パラメーターの名前内
パラメーター | 説明 | 例 |
---|---|---|
aliases |
オプションの
または
これはつまり、利用者がこれらのパラメーターのどちらかに値を挿入すれば、同じ機能を果たすということです。 文字通り訳すなら、「parameter1 の値。パラメーター1が存在しないもしくは値を持たない場合: parameter2 の値。」となります。 2番目の事例には、「parameter2 が存在しないないもしくは値を持たない場合、値なし。」という意味もあります。 パラメーター |
"aliases": ["1", "talk", "talksection"],
|
inherits |
このパラメーターを使うには、 |
"params": {
"トピック1": {
"label": "トピック",
"description": "この曖昧さ回避ページで言及されたトピック",
"type": "string"
},
"トピック2": {
"inherits": "トピック1"
},
"トピック3": {
"inherits": "トピック1",
"label" : "A different label"
}
}
|
label |
|
"label": "年と月",
|
description |
ここで言う |
"description": "テンプレートが挿入された年と月",
|
type |
#Type parameter節を参照。 |
|
default |
テンプレートのパラメーターは既定値(利用者が上書きしない限り使用される値)を持っている場合があります。
効果 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディターおよび TemplateWizard ありの2010年版のウィキテキストエディター)で、あらゆる開いているパラメーターの入力ボックスは空のとき中に 他のパラメーターとの関係 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)で、 |
"default": "Category:CommonsRoot",
|
autovalue |
パラメーターには この値はテンプレートエディターで利用者が上書きできます。 他のパラメーターとの関係 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)で、 |
"autovalue": "{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}"
|
example |
効果 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)で、このプロパティはパラメーター説明の下、(指定されている場合、 他のパラメーターとの関係 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)で、 "default" が指定されている場合には |
"example": "January 2013",
|
suggested values |
パラメータープロパティ
その他の型 (file, page, template, user, date, boolean, URL) は現状サポートされていません。ビジュアルエディターは既に、自動補完のような特別な機能を持っており、推奨値のドロップダウン・メニューと干渉してしまうからです。 ウィキテキストで JSON としてテンプレートデータを編集 任意のパラメーター型に推奨値を追加するには、JSON に新しいプロパティ "suggestedvalues" を追加します。また “suggestedvalues” 属性は文字列の一覧でなければなりません。 テンプレートデータエディターでテンプレートデータを編集
効果 値をテンプレートデータに追加すると、上で列挙したパラメーター型に対して、ビジュアルエディターは、それらをコンボ・ボックス(利用者がカスタム値を入力することもできるドロップダウン)に表示します。利用者は好きな値を選んでクリックします。値の一覧が長い場合 -- 例えば、ある国のすべての州の名前など -- 利用者が欄に値を入力し始めると、それに応じて入力したテキストを含む値のみを表示するように一覧を絞り込みます。入力した値を変更するには、欄をクリアする必要があります。すると、完全なドロップダウンリストが再び表示されます。もし利用者が求めている値が一覧に含まれていない(例えば「message in a bottle」)場合は、手動で入力できます。 |
"suggestedvalues": [
"定期刊行物・論文集",
"書籍",
"新聞",
"雑誌"
]
|
状態のオプション | 説明 | 例 |
---|---|---|
required |
このテンプレートにとって当該のパラメーターを記入することが必須かどうか定義します。 効果 この状態はビジュアルエディターおよび 2017年版ウィキテキストエディター にいくつかの効果があります:
TemplateWizard ありの WikiEditor では、その他のエディターと同様に、利用者がテンプレートを挿入するときに、パラメーターを自動で表示しますが、パラメーターはどのエディタを使っても除去できません。 パラメーターの説明に「このフィールドは必須です。」とは表示しません。代わりに、側部の「必須の引数」の下に列挙します。 これ以外は、入力が「期待される書式」に合致しないと知らせることを除き、全般的な挙動は他のエディターと同じです。 他のパラメーターとの関係 ビジュアルエディターおよび2017年版ウィキテキストエディターでは、 |
"required": true
|
suggested |
必須ではないものの、テンプレート利用者に提示するよう強く推奨されるパラメーターに対して 効果 ビジュアルエディターと2017年版ウィキテキストエディター では、利用者がテンプレートを挿入するときに自動的にそのパタメーターが表示されるようになります。 そのパラメーターに autovalue が設定してある場合、これも自動的にパラメーターの入力ボックスに記入されます。 それ以外の目に見える効果はなく、その他のテキストや警告は表示されません。 TemplateWizard ありのWikiEditor では、パラメーターをテンプレートに自動的に置きませんが、その代わり側部の「推奨される引数」の下に列挙するようになります。 利用者は次にパラメーターの横の「+」をクリックし、テンプレートに追加します。 他のパラメーターとの関係 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)で、この状態の機能性よりも |
"suggested": true
|
deprecated |
最後の、 これは今後使用すべきでないものの、いまだに存在しているパラメーターのための状態です。 これは、テンプレートの使用法があるパラメーターの組み合わせから他の組み合わせに移行したためかもしれません。 効果 ビジュアルエディターおよび2017年版ウィキテキストエディターにおける、このパラメーターの効果は、パラメーターを挿入するときに、そのラベルの横にグレーの「!」マークを表示し、パラメーターの情報ツールチップで、パラメーターの説明の下にグレーで斜体の「以下の理由によりこのフィールドは推奨されません。非推奨の理由」というテキストを表示することです。 パラメーターの機能性や使いやすさに影響はなく、いかなる追加の警告も表示しません。 文字列を受け取ることができるという事実にもかかわらず、2020年1月時点で主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)のどれも利用者に対して文字列の内容をどこにも表示しません。
文字列を入力すると TemplateWizard ありの2010年版ウィキテキストエディターで、この値を 他のパラメーターとの関係 これと これと TemplateWizard ありの2010年版ウィキテキストエディターでは、 |
"deprecated": "代わりに「publicationDate」を使用してください。"
|
注記:パラメーターに対して、 "required"
、 "suggested"
または "deprecated"
のいずれも true
に設定されていない場合、パラメーターの状態は、テンプレートデータ解説文書で "optional"
として表示されます。
処理が終わったら、「保存」を押します。エラーがある場合には保存できません (一瞬、戸惑うかもしれませんが、破壊の予防になります) 。自力でエラーを解決できないときは喜んでお手伝いしますので、フィードバック用のページに投稿して何をどうしたかったか説明をお願いします。
動的にテンプレートデータを作成するためにハックテンプレートの不正使用を試みようとする場合、保存前にエラーの検証はできない点にご注意ください。
情報の各項目は(true
と false
を除き)半角の二重引用符で囲み、(最後のものでない限り)半角カンマによって次の項目と分離することに注意してください。
type パラメーター
"type"
パラメーターは、テンプレートエディターにそのパラメーターの値の性質を伝えることを目的とします。
場合によっては、テンプレートエディターは、特定のパラメーターに対して テンプレートデータの値に応じて、指定された型に一致する有効な値のみを利用者が入力できるようにユーザーインターフェースを変更するようにプログラムされています。
このパラメーターは、テンプレートのパラメーターやその値にいかなる機能的な効果もありません。テンプレートエディターが編集モードでどう表示されるか、パラメーターをどう扱うかを制御するのみです。
使い方
これを使用するには "type"
パラメーターを追加し、コロンとスペースを続け、その後に下表に列挙された値のいずれかを引用符で囲んで追加します。
例:
"type": "string",
効果
2020年2月現在、ビジュアルエディターおよび2017年版ウィキテキストエディターでは13種類のうち5種類のtype値のみが視覚的効果を持ちますが、TemplateWizard では8種類が視覚的効果を持ちます。
特定の値の効果は、テンプレートエディターがそれらをサポートするように更新されるにつれ変わる可能性が高いです。ビジュアルエディターおよび2017年版ウィキテキストエディターに対するそのような取り組みのひとつは Phabricator タスク T55613 で追跡されています。TemplateWizard が真偽値をサポートするようにする同様の取り組みは、T200664 で追跡されています。
現在の既知の効果は以下に列挙されています。
値 | 説明 | |
---|---|---|
unknown |
効果 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)で、 | |
string |
効果 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)で、 | |
line |
効果
| |
content |
効果
| |
unbalanced-wikitext |
効果
| |
wiki-page-name |
効果 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)で、 | |
wiki-file-name |
効果
| |
wiki-template-name |
効果 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)で、 | |
wiki-user-name |
効果 すべての主要なエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)で、 | |
number |
効果
他のパラメーターとの関係
| |
boolean |
効果 2020年2月時点で、主要なウィキメディアエディター(ビジュアルエディター、2017年版ウィキテキストエディター、TemplateWizard ありの2010年版ウィキテキストエディター)のいずれも、この値を使っていません。視覚的効果はありません。 ビジュアルエディターには | |
date |
効果
他のパラメーターとの関係
| |
url |
効果
他のパラメーターとの関係
|
カスタム書式
"format"
の値を編集するときに、あらかじめ定義された規則に従い一連のウィキテキストの記号を入力することによって、カスタム書式を作成します。
{{
- テンプレート開始_
- コンテンツ(例えば、文字列、整数、あるいはパラメーター)。 この半角アンダーバーは、値の最小長さを文字で示す役割を果たし、_______
のように繰り返すことができます。 この長さに届かない場合、残りの文字をスペースで埋めます。 これはパラメーターの後ろに続く等号を特定の位置で揃えるために使えます(改行のための\n
と併用した場合)。|
- パイプ記号(パラメーターを区切る)=
- 等号(パラメーターの値の前に置く)\n
またはEnterキーを押す - 改行(これは入力欄では↵
と表示される)\n
と併用)}}
- テンプレート終了
ウィキテキストは少なくとも最低限の {{_|_=_}}
を満たす必要があり、不足している場合は文字列の書式が無効というエラーになります。
目的 | 書式文字列 | 出力 |
---|---|---|
インラインの書式設定 | {{_|_=_}} inline
|
{{Foo|bar=baz|longparameter=quux}}{{Bar}} |
ブロックの書式 | {{_\n| _ = _\n}} block
|
{{Foo | bar = baz | longparameter = quux }}{{Bar}} |
パラメータ名の前に空白(スペース)を入れない。テンプレートごとに改行 | \n{{_\n|_ = _\n}}\n
|
{{Foo |bar = baz |longparameter = quux }} {{Bar}} |
各パラメーターをインデント | {{_\n |_ = _\n}}
|
{{Foo |bar = baz |longparameter = quux }}{{Bar}} |
すべてのパラメーター名を指定した長さに揃える | {{_\n|_______________ = _\n}}\n |
{{Foo |bar = baz |longparameter = quux |veryverylongparameter = bat }} {{Bar}} |
前の行の終わりにパイプ記号を置く | {{_|\n _______________ = _}}
|
{{Foo| bar = baz| longparameter = quux}}{{Bar}} |
インラインの書式。半角スペースを多用、行頭の典型 | \n{{_ | _ = _}}
|
{{Foo | bar = baz | longparameter = quux}} {{Bar }} |
テンプレートを行頭に置き、パラメーターをインデントで揃え、パイプ記号を前に置く | \n{{_ |\n _______________ = _}}
|
{{Foo | bar = baz | longparameter = quux}} {{Bar}} |
ブランク定型
以下に示す値が空の定型を複写して使用すると、特定のテンプレートに新規にテンプレートデータを記入できます。タグは最も一般的なタグのみ提供してあります。
<templatedata>
{
"description": "",
"params": {
"1": {
"label": "",
"description": "",
"type": ""
},
"2": {
"label": "",
"description": "",
"type": ""
}
}
}
</templatedata>
エラー
JSON の構文エラーです。 / 間違った JSON 書式
これらのエラーは、ビジュアルエディターまたは2017年テキストエディターで、無効な JSON コード(キーやパラメーターの重複、カンマが足りない・不用など)を含むテンプレートデータを、たいていは手動で編集して、保存しようとしたときに発生します。
ビジュアルエディターおよび2017年版ウィキテキストエディターでは「JSON の構文エラーです。」と表示され、テンプレートデータ GUI エディターで編集しているときには「間違った JSON 書式」と表示されます。
これらのエラーは検出が難しく、また変形が多くて一覧にするのが困難です。 これらを回避する最善策は、テンプレートデータエディターでのみテンプレートデータを編集することです。エラーが発生したときに検出する最善策は、エラーを強調表示して修復を補助する、 JSONLint のような、外部の JSON バリデーター(検証機能)を使うことです。
2010年版ウィキテキストエディターでは、JSON が無効かどうか検査をしません。古い未修正のバグが原因です (タスク T128029)。 ページ内に無効な JSON が含まれる場合は、予想外の「内部エラー」が飛び出すかもしれません。 これらエラーを修正する最善策は、JSON バリデーター(上記参照)を使うことです。
必須のプロパティ「paramOrder[数値]」がありません。
このエラーは "paramOrder"
で宣言していないパラメーターを "params"
で宣言した場合に発生します。
角括弧内の数字が、"paramOrder"
内で欠落しているパラメーターを指しています。パラメーターが先頭から何番目か示すのですが、実際の位置よりも1少なくなります。"paramOrder"
は最初が0で、二番目が1、という配列だからです。
"params": {
"date": { ...
},
"reason": { ...
},
"talk": { ... // <-- このパラメーターは "paramOrder" で宣言すべきですが、宣言されていません。
}
},
"paramOrder": [
"date",
"reason"
]
// エラー:必須のプロパティ "paramOrder[2]" が見つかりません。
これを修正するには、"params"
で宣言されているパラメーターがすべて、"paramOrder"
に列挙されていることを確かめてください。
代替策として、"paramOrder"
オブジェクトを除去するとエラーは出なくなります。
プロパティ「paramOrder[数値]」の値が無効です。
このエラーは "params"
で宣言していないパラメーターを "paramOrder"
で宣言した場合に発生します。
角括弧内の数字が、"paramOrder"
内で欠落しているパラメーターを指しています。パラメーターが先頭から何番目か示すのですが、実際の位置よりも1少なくなります。"paramOrder"
は最初が0で、二番目が1、という配列だからです。
"params": {
"date": { ...
},
"talk": { ...
}
},
"paramOrder": [
"date",
"reason", // <-- このパラメーターは "params" で宣言すべきですが、宣言されていません。
"talk"
]
// エラー:プロパティ "paramOrder[1]" の値が無効です。
これを修正するには、"paramOrder"
で宣言されているパラメーターがすべて、"params"
に列挙されていることを確かめてください。
代替策として、"paramOrder"
オブジェクトを除去するとエラーは出なくなります。
プロパティ「params.パラメーター名.required」には型「boolean」の値を指定してください。
このエラーは"required"
(必須)、もしくは"suggested"
(推奨) の値を引用符で挟んだ場合に発生します。
"suggested": "true" // <-- 引用符をここに付けるべきではありません。
文字列ではなく真偽値であるため、引用符は不要です。
これを修正するには、これらのパラメーターに対する値 true
または false
を囲む引用符をすべて除去します。
プロパティ "format" に期待されるのは……
"format"
パラメーターは存在するものの、値が "inline"
、"block"
、あるいは有効な書式文字列でない場合、エラーメッセージ「プロパティ "format" は "inline" 、 "block" 、または有効な書式文字列であることが期待されます。」が表示されます。
"format": "notinline"
// エラー : プロパティ "format" は "inline"、"block" あるいは有効な書式文字列であることが期待されます。
これを修正するには、"format":
の後の値が "inline"
もしくは "block"
に等しく、つづりに間違いがないことを確認します。代わりに、ウィキテキストである場合には、最小限 {{_|_=_}}
を含み、等号の重複、波括弧の欠如や重複といったような、通常テンプレートの失敗を引き起こす構文の間違いがないことを確かめます。カスタム書式の構文の詳細は#カスタム書式節をご参照ください。
代替策として、"format"
オブジェクトを除去するとエラーは出なくなります。
予期しないプロパティ「パラメーター名」です。
このエラーはテンプレートデータに存在しないパラメーターを宣言した場合に発生します。 これはおそらく綴りの間違いか、小文字の代わりに大文字が使用されているためだと思われます。
<templatedata>
{
"description": "",
"format": "inline",
"params": {
"1": {
"label": "",
"descriptino": "", // <-- つづり(スペル)の間違い
"type": ""
}
}
}
</templatedata>
任意のテンプレートデータオブジェクト内で、そのオブジェクトのパラメーターではないパラメーターを宣言した場合にも発生します。スペル間違いか、あるテンプレートデータオブジェクトのパラメーターをそれが属するのとは別のオブジェクトの下に記入しているかもしれません。
例えば、パラメーター "label"
を "params"
内ではなく、ルートテンプレートデータオブジェクトの下に書いてしまっているかもしれません:
<templatedata>
{
"description": "",
"format": "inline",
"label": "", // <-- 誤って配置されたパラメーター
"params": {
"1": { // ↓ it should be in here
"description": "",
"type": ""
}
}
}
</templatedata>
そうではなく、想定外のパラメーターが "params"
内のテンプレートのパラメーターの下にある場合、エラー内でその名前は "params.パラメーター名." の後に表示されます。
これを修正するには、パラメーターの名前にいかなるスペル間違いもないことを確かめ、さらにパラメーターが正しい位置にあることを確かめてください。 それに加え、テンプレートデータオブジェクトに存在しない、いかなるパラメーターも宣言していないことを確かめてください。 オブジェクトにどのパラメーターが存在しているのかは、#テンプレートデータのパラメーター節でご確認ください。
必須のプロパティ「params」がありません。
このエラーは、テンプレートデータ内に "params"
オブジェクトがない場合に発生します。
これは各パラメーターのすべての詳細を含むので、必須オブジェクトです。このエラーを修正するには、このオブジェクトが追加されていて、スペル間違いがないことを確認してください。
"params"
パラメーターの追加方法は、上述の節をご参照ください。
制限とフィードバック
- 不足している機能 – テンプレートデータは、利用者が望む機能の開発へと導いてくれることを期待して、少ない機能で利用可能にしたツールの例です。テンプレートデータの新機能の要望がありましたら、ぜひお知らせください。
- テンプレート表示が遅れる – テンプレートページへテンプレートデータを追加後、ビジュアルエディターでテンプレートを開くと、メタデータがすぐに表示されるはずです。しかしながら、メタデータの表示には数時間を要する可能性があります。強制的に更新するには (説明文書の下位ページではなく) テンプレートページ自体に空編集をします。空編集を行うには、テンプレートページを開き、いかなる変更も行わず、いかなる編集の要約も追加せずにページを保存します。
- 現在の問題 – 現在のバグや機能要求のリストはWikimedia バグトラッカーで利用可能です。
その他のツール
- Help:Extension:TemplateWizard
- ツールバーのダイアログウィンドウ。テンプレートデータから生成したフォームを使い、テンプレートにウィキテキストを記入するために使用。
- TemplateData Wizard
- テンプレートデータを生成するツール。インタラクティブなインターフェースを使用。
- Skeleton TemplateData generator
- テンプレートのソースウィキコードを解読するツール。使用されているすべてのパラメーターを検出し、パラメーターの一覧を含む骨格文書を出力する。
- JSONLint
- 手入力したJSONが正しいかどうか確認するツール。構文エラーの発見に役立つ。
- このウィキにあるテンプレートデータを備えたテンプレートの一覧
- ドイツ語版ウィキペディアのテンプレートに備わったテンプレートデータでは、ボックス内にテンプレートのデータを表示。テンプレートはそのデータとともにドイツ語版ウィキペディアの特定のカテゴリに分類される
- https://query.wikidata.org/ およびクエリ補助機能 Query Helper