コンテンツにスキップ

テンプレート:Code

提供: Wikisource
テンプレートの解説[表示] [編集] [履歴] [キャッシュを破棄]

使い方

[編集]

短いテキストを <syntaxhighlight> タグで囲みます(参照: mw:Extension:SyntaxHighlight)。このテンプレートは短いサンプル用に使用し、長い内容には <pre></pre> または <syntaxhighlight></syntaxhighlight> を使用してください。さまざまなタグの効果については mw:Help:Formatting/ja を参照してください。

内容に等号(=)が含まれている場合は、パラメーターを明示的に指定する必要があります: {{code|1=date=2010年2月30日}}

このテンプレートは <syntaxhighlight> タグを使用しており、属性 inline=1 を指定しています。これは <code><nowiki> を組み合わせたような動作をし、展開されたウィキテキストに適用されます。たとえば、{{code|some '''wiki''' text}} は、「wiki」という語を太字にせず、三重引用符がそのまま表示されます:

some '''wiki''' text

しかし、{{code|a {{template}} call}} のようにテンプレートが含まれていると、テンプレートは展開されます:

a [[:テンプレート:Template]] call

この動作を避けるには、テンプレート名を <nowiki>{{template}}</nowiki> で囲んでください:

a {{template}} call

通常のテキストとインラインで使用する場合、{{code}} は明示的にスペースを入れると視認性が向上します:

foo  {{code|bar baz}}  quux.

これは次のように表示され、見やすくなります:

foo  bar baz  quux.

一方、スペースを入れない場合:

foo {{code|bar baz}} quux.

これは次のように表示され、多くの人にとって視認性が低下します:

foo bar baz quux.

なぜなら、「foo」と「bar」が近接して見え、「bar」と「baz」の関係が見えにくくなるからです。等幅フォントではスペースが広いため、この違いが目立ちます。

パラメーター {{{2}}}(または |2 = |lang = )で mw:Extension:SyntaxHighlight GeSHi の言語を指定できます。指定しなければプレーンテキスト(ハイライトなし)になります。ウィキテキストには wikitext を指定することで構文ハイライトが有効になります。他にも html4stricthtml5phpperlcssjavascriptmysql など多数の言語が指定可能です。無効な言語を指定すると、テンプレートの出力の代わりに有効な言語の一覧が表示されます(プレビュー・保存時)。

このテンプレートは subst展開する必要はありません

使用例

[編集]
Markup Renders as
Lorem {{code|ipsum '''dolor'''}} sit amet

Lorem ipsum '''dolor''' sit amet

The declaration {{code |lang=cpp |int foo(const std::string& bar, const std::vector<long double*>& baz);}} is the prototype for a function defined later.

The declaration int foo(const std::string& bar, const std::vector<long double*>& baz); is the prototype for a function defined later.

If the code contains an [[equals sign]], such as {{code |lang=javascript |code=var img = document.getElementsByTagName("img");}}, you must identify the first parameter explicitly as {{{1}}} or {{{code}}}; see also [[:bugzilla:5138]].

If the code contains an equals sign, such as var img = document.getElementsByTagName("img");, you must identify the first parameter explicitly as {{{1}}} or {{{code}}}; see also bugzilla:5138.

使用されているテンプレート

[編集]

{{code}} の中で他のテンプレートは通常通りには動作しません。{{var}} などを含む長い自由形式のコードブロックには、このテンプレートの代わりに <code></code> を使用してください。

{{code}} 内で使用されたテンプレートは、レンダリングされたHTMLを表示します。これは有用な場合もあります。例えば次のように:

Markup Renders as
{{code|
{{cite web |title=Title |url=http://example.org}}
}}

<cite class="citation web" style="font-style:normal" >“[http://example.org Title]”.&#32;<strong class="error">[[Template:Cite web]]の呼び出しエラー:引数 '''accessdate''' は必須です。</strong></cite>

この例では、テンプレートによって出力されたHTML(隠されたメタデータを含む)が確認できます。

関連項目

[編集]