補間

Pugは、様々な補間ニーズに対応するための演算子を提供します。

文字列補間、エスケープ処理

以下のテンプレートのローカル変数 `title`、`author`、`theGreat` の配置について考えてみましょう。

`title` は、テンプレートのローカル変数を評価するための基本的なパターンに従いますが、`#{` と `}` の間のコードは評価され、エスケープ処理され、レンダリングされるテンプレートの出力にバッファリングされます。

これは任意の有効なJavaScript式であるため、好きなように記述できます。

Pugは式がどこで終わるかを理解するのに十分賢いため、エスケープすることなく `}` を含めることもできます。

verbatim `#{` を含める必要がある場合は、エスケープするか、補間を使用します。(メタですね!)

文字列補間、エスケープなし

安全にプレイする必要はありません。エスケープされていない値をテンプレートにバッファリングすることもできます。

注意

**エスケープされていないコンテンツをテンプレートにバッファリングすることは、そのコンテンツがユーザーから直接入力されたものである場合、非常に危険な場合があります。** ユーザー入力を決して信用しないでください!

タグ補間

補間は、JavaScriptの値だけでなく、Pugでも機能します。次のようにタグ補間構文を使用するだけです。

PugでインラインHTMLタグを記述することで同じことを実現できますが、それではPugを記述する意味がありません。インラインPugタグ宣言を `#[` と `]` で囲むと、評価され、それを含むタグのコンテンツにバッファリングされます。

空白制御

タグ補間構文は、タグの前後の空白が重要なインラインタグで特に役立ちます。

ただし、デフォルトでは、Pugはタグの前後のすべてのスペースを削除します。次の例をご覧ください。

このトピックの詳細については、プレーンテキストページの空白セクションを参照してください。