「ヘルプ:Templates/ja」を編集中
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | + | {{PD Help Page}} | |
− | {{ | + | |
+ | <languages/> | ||
+ | |||
複数のページに含めたい共通するようなテキストがある場合、MediaWiki のテンプレート機能が役立ちます。 | 複数のページに含めたい共通するようなテキストがある場合、MediaWiki のテンプレート機能が役立ちます。 | ||
− | |||
== 作成 == | == 作成 == | ||
30行目: | 31行目: | ||
テンプレートは、他のページ内で以下のように使用できます: | テンプレートは、他のページ内で以下のように使用できます: | ||
− | * <code><nowiki>{{Name}}</nowiki></code> | + | * <code><nowiki>{{Name}}</nowiki></code>は、それを含むページが取得・表示されるときに<nowiki>"[[Template:Name]]"</nowiki>に保存されている内容を埋め込みます。埋め込まれているテンプレートが後で修正された場合、表示されるページもそれにしたがって更新されます。* <code><nowiki>{{subst:Name}}</nowiki></code> — when this template link is used, it will be replaced once and for all with the content of <nowiki>[[Template:Name]]</nowiki> as of the time the page with the link is '''saved''': a copy of the contents of <nowiki>[[Template:Name]]</nowiki> will be ''substituted'' for the template link. The contents are then a part of the including page, and can be edited normally, separately from the original. ''Note'': changes to the source template page will ''not'' be propagated to the page with the template link.* <code><nowiki>{{safesubst:Name}}</nowiki></code> — this was introduced to allow for substitution that doesn't break transclusion, see [[w:en:Help:Substitution#The safesubst: modifier]].* <code><nowiki>{{msgnw:Name}}</nowiki></code>は、それを含むページが取得されるときに、<code><nowiki><nowiki></nowiki></code>のように生のwiki構文として表示する形式でテンプレートを埋め込みます。 |
− | * <code><nowiki>{{subst:Name}}</nowiki></code> — when this template link is used, it will be replaced once and for all with the content of <nowiki>[[Template:Name]]</nowiki> as of the time the page with the link is '''saved''': a copy of the contents of <nowiki>[[Template:Name]]</nowiki> will be ''substituted'' for the template link. The contents are then a part of the including page, and can be edited normally, separately from the original. ''Note'': | ||
− | * <code><nowiki>{{safesubst:Name}}</nowiki></code> — this was introduced to allow for substitution that doesn't break transclusion, see [[w:en:Help:Substitution#The safesubst: modifier]]. | ||
− | * <code><nowiki>{{msgnw:Name}}</nowiki></code>は、それを含むページが取得されるときに、<code><nowiki><nowiki></nowiki></code>のように生のwiki構文として表示する形式でテンプレートを埋め込みます。 | ||
In fact, an ordinary wiki page can also be used as a template, simply by specifying the namespace it resides in, so: | In fact, an ordinary wiki page can also be used as a template, simply by specifying the namespace it resides in, so: | ||
− | * <code><nowiki>{{Template:ページ名}}</nowiki></code> は <code><nowiki>[[Template:ページ名]]</nowiki></code> を参照読み込みします | + | * <code><nowiki>{{Template:ページ名}}</nowiki></code> は <code><nowiki>[[Template:ページ名]]</nowiki></code> を参照読み込みします* <code><nowiki>{{Foo:ページ名}}</nowiki></code> は <code><nowiki>[[Foo:ページ名]]</nowiki></code> を参照読み込みします* <code><nowiki>{{:ページ名}}</nowiki></code> は <code><nowiki>[[ページ名]]</nowiki></code> を参照読み込みします** <code><nowiki>{{subst::Pagename}}</nowiki></code> replaces itself with the contents of <code><nowiki>[[Pagename]]</nowiki></code> |
− | * <code><nowiki>{{Foo:ページ名}}</nowiki></code> は <code><nowiki>[[Foo:ページ名]]</nowiki></code> を参照読み込みします | ||
− | * <code><nowiki>{{:ページ名}}</nowiki></code> は <code><nowiki>[[ページ名]]</nowiki></code> を参照読み込みします | ||
− | ** <code><nowiki>{{subst::Pagename}}</nowiki></code> replaces itself with the contents of <code><nowiki>[[Pagename]]</nowiki></code> | ||
If no such namespace exists, the full title is assumed to be a template: | If no such namespace exists, the full title is assumed to be a template: | ||
48行目: | 43行目: | ||
== パラメーター == | == パラメーター == | ||
− | + | To enrich the mechanism of transclusion, MediaWiki allows parameters to be passed to a template when it is transcluded. Parameters allow the template to produce different contents or have different behaviors. | |
− | + | Suppose you wish to insert a little thank you note in the [[Special:MyLanguage/Help:Talk pages|talk page]] of other users, such as: | |
{{Thankyou|all your effort|Me}} | {{Thankyou|all your effort|Me}} | ||
− | The thank you note | + | The thank you note will have a reason (in this case, "all your effort") and a signature ("Me"). Your objective is that any user is able to thank any other user, for any reason whatsoever. |
− | + | So that the note will look similar everywhere it is used, you can define a template called [[Template:Thankyou]], for example. Although the note should look similar whenever a user thanks another user, its specific contents (i.e. the reason and the signature) will be different. For that reason, you should pass them as parameters. If we ignore the remaining elements to format the box and place the image, the core content of the template will be this: | |
− | < | + | <pre><nowiki>'''A little thank you...''' |
− | ''' | + | for {{{1}}}. |
− | {{{1}}} | + | hugs, {{{2}}}</nowiki></pre> |
− | |||
− | </ | ||
Notice the use of <code><nowiki>{{{1}}}</nowiki></code> and <code><nowiki>{{{2}}}</nowiki></code>. This is the way to identify, within templates, the parameters that will be passed in when the template is used. Note that, within the template, each parameter is surrounded by '''three''' braces: <code><nowiki>{{{ }}}</nowiki></code>. This is different from normal template name usage. | Notice the use of <code><nowiki>{{{1}}}</nowiki></code> and <code><nowiki>{{{2}}}</nowiki></code>. This is the way to identify, within templates, the parameters that will be passed in when the template is used. Note that, within the template, each parameter is surrounded by '''three''' braces: <code><nowiki>{{{ }}}</nowiki></code>. This is different from normal template name usage. | ||
82行目: | 75行目: | ||
<nowiki>{{Thankyou|Me|all your effort}}</nowiki> | <nowiki>{{Thankyou|Me|all your effort}}</nowiki> | ||
− | + | would produce this result: | |
{{Thankyou|Me|all your effort}} | {{Thankyou|Me|all your effort}} | ||
88行目: | 81行目: | ||
'''Note:''' identifying parameters by order (with <code><nowiki>{{{1}}}</nowiki></code>, etc) works ''only'' with anonymous parameters. If your page identifies any parameter by number or name, as shown below, this method will no longer be available to the template which receives them. | '''Note:''' identifying parameters by order (with <code><nowiki>{{{1}}}</nowiki></code>, etc) works ''only'' with anonymous parameters. If your page identifies any parameter by number or name, as shown below, this method will no longer be available to the template which receives them. | ||
− | + | === 番号のパラメーター === | |
− | |||
− | |||
− | |||
− | === | ||
− | + | To pass in parameters by number, identify each parameter when passing it: | |
<nowiki>{{Thankyou|2=Me|1=your friendship}}</nowiki> | <nowiki>{{Thankyou|2=Me|1=your friendship}}</nowiki> | ||
− | + | This time, template <code><nowiki>{{Thankyou}}</nowiki></code> receives parameters <code><nowiki>{{{1}}}=your friendship</nowiki></code> and <code><nowiki>{{{2}}}=Me</nowiki></code>, though they have been supplied in inverse order, and produces: | |
{{Thankyou|2=Me|1=your friendship}} | {{Thankyou|2=Me|1=your friendship}} | ||
130行目: | 119行目: | ||
Since no parameters were passed in, the template presents the parameters themselves, instead of their respective values. In these cases, it may be useful to define ''default'' values for the parameters, i.e. values that will be used if no value is passed in. For example, if the template contents are changed to: | Since no parameters were passed in, the template presents the parameters themselves, instead of their respective values. In these cases, it may be useful to define ''default'' values for the parameters, i.e. values that will be used if no value is passed in. For example, if the template contents are changed to: | ||
− | < | + | <pre><nowiki>'''A little thank you...''' |
− | {{{reason| | + | for {{{reason|everything}}}. |
− | + | hugs, {{{signature|Me}}}</nowiki></pre> | |
− | |||
− | </ | ||
then <code><nowiki>{{{reason|everything}}}</nowiki></code> defines that if no parameter <code>{{{reason}}}</code> is provided, then the value <code>everything</code> will be used. Similarly, <code><nowiki>{{{signature|Me}}}</nowiki></code>, defaults parameter <code>{{{signature}}}</code> to value <code>Me</code>. Now, transcluding the template again without passing any parameter, results in the following: | then <code><nowiki>{{{reason|everything}}}</nowiki></code> defines that if no parameter <code>{{{reason}}}</code> is provided, then the value <code>everything</code> will be used. Similarly, <code><nowiki>{{{signature|Me}}}</nowiki></code>, defaults parameter <code>{{{signature}}}</code> to value <code>Me</code>. Now, transcluding the template again without passing any parameter, results in the following: | ||
<!-- strictly speaking, this example is false, because the template call was changed to obtain the desired effect - but the effect is the same if the template is defined as described --> | <!-- strictly speaking, this example is false, because the template call was changed to obtain the desired effect - but the effect is the same if the template is defined as described --> | ||
{{Thankyou|reason=everything|signature=Me}} | {{Thankyou|reason=everything|signature=Me}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== テンプレートの参照読み込みの制御 == | == テンプレートの参照読み込みの制御 == | ||
190行目: | 133行目: | ||
<code><nowiki><noinclude></nowiki></code>と<code><nowiki></noinclude></nowiki></code>の間にあるものはページが直接閲覧されるときのみ表示され、インクルードされる場合は表示されません。実行できる応用例は次の通りです: | <code><nowiki><noinclude></nowiki></code>と<code><nowiki></noinclude></nowiki></code>の間にあるものはページが直接閲覧されるときのみ表示され、インクルードされる場合は表示されません。実行できる応用例は次の通りです: | ||
− | * テンプレート自身をカテゴリ化する際に使用する[[Special:MyLanguage/Help:Categories|カテゴリ]] | + | * テンプレート自身をカテゴリ化する際に使用する[[Special:MyLanguage/Help:Categories|カテゴリ]]* 他言語版の類似したテンプレートへの[[Special:MyLanguage/Help:Links#Interlanguage links|言語間リンク]]* テンプレートの使用法についての説明文 |
− | * 他言語版の類似したテンプレートへの[[Special:MyLanguage/Help:Links#Interlanguage links|言語間リンク]] | ||
− | * テンプレートの使用法についての説明文 | ||
逆は<code><nowiki><includeonly></nowiki></code>.です。<code><nowiki><includeonly></nowiki></code>と<code><nowiki></includeonly></nowiki></code>の間のテキストはページがインクルードされたときのみ処理され表示されます。明確な応用例は与えられたテンプレートを含むすべてのページをカテゴリに追加することです。 | 逆は<code><nowiki><includeonly></nowiki></code>.です。<code><nowiki><includeonly></nowiki></code>と<code><nowiki></includeonly></nowiki></code>の間のテキストはページがインクルードされたときのみ処理され表示されます。明確な応用例は与えられたテンプレートを含むすべてのページをカテゴリに追加することです。 | ||
− | * [[Special:MyLanguage/Help:Categories|Categorizing]] pages which include the template. ''Note:'' when changing the categories applied by a template in this fashion, the categorization of the pages which include that template may not be updated until some time later: this is handled by the {{mediawiki|Manual:Job queue|job queue}}. To force the re-categorization of a particular page, open that page for editing and save it without changes. | + | * [[Special:MyLanguage/Help:Categories|Categorizing]] pages which include the template. ''Note:'' when changing the categories applied by a template in this fashion, the categorization of the pages which include that template may not be updated until some time later: this is handled by the {{mediawiki|Manual:Job queue|job queue}}. To force the re-categorization of a particular page, open that page for editing and save it without changes.* Ensuring that the template's code is not executed when viewing the template page itself. Typically this is because it expects parameters, and its execution without parameters has an undesired result. |
− | * Ensuring that the template's code is not executed when viewing the template page itself. Typically this is because it expects parameters, and its execution without parameters has an undesired result. | ||
− | Everything outside <code><nowiki><noinclude></nowiki></code> and <code><nowiki><includeonly></nowiki></code> is processed and displayed normally; that is, both when the template page is being viewed directly and when the template is included in another page | + | Everything outside <code><nowiki><noinclude></nowiki></code> and <code><nowiki><includeonly></nowiki></code> tags is processed and displayed normally; that is, both when the template page is being viewed directly and when the template is included in another page. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== テンプレートの整理 == | == テンプレートの整理 == | ||
214行目: | 146行目: | ||
以下の方法で見つけられます: | 以下の方法で見つけられます: | ||
− | # | + | # '''特別ページ > 全ページ'''をクリック |
− | # ''' | + | # '''名前空間'''一覧で、'''Template''' を選択して'''表示''' |
To give usage information, include an example like this one on the template page: | To give usage information, include an example like this one on the template page: | ||
228行目: | 160行目: | ||
それから編集者は同じようなページを作成するために例をコピー&ペーストします。 | それから編集者は同じようなページを作成するために例をコピー&ペーストします。 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 別のウィキへのコピー == | == 別のウィキへのコピー == | ||
242行目: | 167行目: | ||
=== MediaWiki のコード === | === MediaWiki のコード === | ||
− | If you have import rights | + | If you have import rights on the new wiki:# Go to [[Special:Export]] on the original wiki, and download an .xml file with the complete history of all necessary templates, as follows:#* Enter the name of the template in the big text box, e.g. "Template:Welcome". Pay special attention to capitalization and special characters — if the template name isn't exactly correct, the export may still occur but the .xml file will not have the expected data.#* ボックス「テンプレートを含める」にチェックを入れる#* ボックス「完全な履歴は含めず、最新版のみを含める」の'''チェックを外す'''#* 「書き出し」をクリック# Go to [[Special:Import]] on the new wiki and upload the .xml file. |
− | # Go to [[Special:Export]] on the original wiki, and download an .xml file with the complete history of all necessary templates, as follows: | ||
− | #* Enter the name of the template in the big text box, e.g. "Template:Welcome". Pay special attention to capitalization and special characters — if the template name isn't exactly correct, the export may still occur but the .xml file will not have the expected data. | ||
− | #* | ||
− | #* | ||
− | #* | ||
− | # Go to [[Special:Import]] on the new wiki and upload the .xml file. | ||
− | If you don't have import rights on the new wiki: | + | If you don't have import rights on the new wiki:# Go to [[Special:Export]] on the original wiki, and download an .xml file with the latest version only of all necessary templates, as follows:#* Enter the name of the template in the big text box.#* ボックス「テンプレートを含める」にチェックを入れる#* ボックス「完全な履歴は含めず、最新版のみを含める」にチェックを入れる#* 「書き出し」をクリック#* Open the file in a text editor and replace certain [[w:en:XML entity|XML entities]] with the corresponding characters: &lt; → <, &gt; → >, &quot; → " and &amp; → &. Because of XML syntax rules, these entities appear in the XML file, but they should not appear in the edit box of the MediaWiki instance.#* Manually copy the text inside the <code><nowiki><text></nowiki></code> tag of each listed template into a similarly named template in your wiki. In the edit summary of each template, link to the original page for attribution. |
− | |||
− | # Go to | ||
− | # | ||
− | |||
This will copy the entire code necessary, and will suffice for some templates. | This will copy the entire code necessary, and will suffice for some templates. | ||
− | |||
− | |||
− | |||
=== 拡張機能 === | === 拡張機能 === | ||
269行目: | 181行目: | ||
=== CSS および JavaScript のコード === | === CSS および JavaScript のコード === | ||
− | Besides MediaWiki code, many templates make use of CSS and some rely on JavaScript to work fully. If the copied templates are not behaving as expected, this may be the cause. To copy the required CSS and JavaScript to your wiki you'll normally need to have admin | + | Besides MediaWiki code, many templates make use of CSS and some rely on JavaScript to work fully. If the copied templates are not behaving as expected, this may be the cause. To copy the required CSS and JavaScript to your wiki you'll normally need to have admin priviledges, because you'll be editing system messages in the "MediaWiki:" namespace. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | # Look for the use of CSS classes (text like <code>class="foobar"</code>) in the template text. If those classes appear in "MediaWiki:Common.css" or "MediaWiki:Monobook.css" on the original wiki, copy them to "MediaWiki:Common.css" on the new wiki and check if the template is now fine.# If the copied template is still not working as expected, check if there is code in "MediaWiki:Common.js" or "MediaWiki:Monobook.js" on the original wiki. If so, you can try copying it to "MediaWiki:Common.js" on the new wiki. Normally, it is a good idea to only copy code from trusted sources, and first browsing the code to identify and select the parts that are relevant. You may find comments that can serve as clues to identify the functionality of each part. | |
− | MediaWiki | ||
− | |||
== 関連項目 == | == 関連項目 == | ||
− | * | + | * [[Special:MyLanguage/Help:External searches]] – a template special use case example |
− | + | * [[Special:MyLanguage/Help:Magic words]] – fancy stuff you may find in some templates | |
− | * | + | * [[Special:MyLanguage/Help:Parser functions in templates]] |
− | * | + | * {{meta|Help:Template}} – contains a much more thorough manual on how exactly templates function |
− | * | + | ** {{meta|Help:Advanced templates}} – describes even more advanced techniques such as dynamic template calls and variable variables |
− | ** | + | * {{meta|Help:Embed page}} – embedding pages from [[Special:MyLanguage/Help:Namespaces|namespaces]] other than <code>Template:</code>. |
− | * | ||
− | |||
− | [[Category:Help{{ | + | [[Category:Help{{langcat|Templates}}|Templates]] |
− | [[Category:Template | + | [[Category:Template]] |
− |