電子メールテンプレートでLiquid構文を使用
Auth0 dashboardで利用可能な電子メールテンプレートを使用する場合、Liquidテンプレート言語を使用して適切なデータを選択し、電子メールを書式設定するオプションがあります。Liquidは、さまざまな情報を含む電子メールを動的に生成するために使用できるHTMLの機能を拡張するオープンソースのテンプレート言語です。詳細については、Githubの[Liquid for Designers(デザイナー向けLiquid)]に関するページをお読みください。
Liquidを使用して、特定の値をハードコードするのではなく、電子メールの[Subject(件名)]
を構成して適切なアプリケーション名を表示できます。
{{application.name}}です!
Liquid構文を使用したHTMLは、検証、パスワード変更確認、およびブロックされたアカウントの電子メールテンプレートのすべてのフィールド (URLLifetime
を除く) でサポートされています。サポートされている出力属性とその使用方法の詳細については、[Customize Email Templates(電子メールテンプレートのカスタマイズ)]を参照してください。
Liquidには、出力とタグの2種類のマークアップがあります。
出力マークアップ
[Output(出力)]マークアップはテキストに変換され、2組の対応する波括弧で囲まれます。
こんにちは {{ name }}!
シンプルな方法であるフィルターを使用して、出力の外観をさらにカスタマイズできます。たとえば、[upcase(大文字)]
フィルターは、フィルターに渡されるテキストを大文字に変換します。
こんにちは {{ name | upcase }}!
複数のフィルターは|
で区切られ、左から右の順に処理され、前のフィルターの結果に次のフィルターが適用されます。テンプレートは最終結果をレンダリングします
以下のフィルターがサポートされています。
フィルター | 説明 | 例 |
---|---|---|
append |
文字列を追加します | {{ 'foo' | append:'bar' }} #=> 'foobar' |
capitalize |
入力文の文字を大文字にします | {{ "my great title" | capitalize }} #=> My great title |
date |
日付を再フォーマットします (syntax reference) | |
default |
提供された値を返すnullまたは空の文字列でない限り、提供された変数を返します | {{ undefined_variable | default: "Default value" }} #=> "Default value" |
divided_by |
整数除算 | {{ 10 | divided_by:3 }} #=> 3 |
downcase |
入力文字列を小文字に変換します | {{ "Parker Moore" | downcase }} #=> parker moore |
escape |
文字列のHTMLエスケープ | {{ "Have you read 'James & the Giant Peach'?"| escape }} #=> Have you read 'James & the Giant Peach'? |
escape_once |
既存のエスケープされたエンティティに影響を与えることなくHTMLのエスケープされたバージョンを返します | {{ "1 < 2 & 3" | escape_once }} #=> 1 < 2 & 3 |
first |
渡された配列の最初の要素を取得します | |
join |
配列の要素を、特定の文字を間に使用して結合します | |
last |
渡された配列の最初の要素を取得します | |
map |
提供されたプロパティの配列をマップ/収集します | |
minus |
減算 | {{ 4 | minus:2 }} #=> 2 |
modulo |
剰余 | {{ 3 | modulo:2 }} #=> 1 |
newline_to_br |
各改行(\n)をHTML改行に置き換えます | |
plus |
加算 | {{ '1' | plus:'1' }} #=> 2 , {{ 1 | plus:1 }} #=> 2 |
prepend |
文字列をプリペンドします | {{ 'bar' | prepend:'foo' }} #=> 'foobar' |
remove |
各出現を削除します | {{ 'foobarfoobar' | remove:'foo' }} #=> 'barbar' |
remove_first |
最初の出現を削除します | {{ 'barbar' | remove_first:'bar' }} #=> 'bar' |
replace |
各出現を置き換えます | {{ 'foofoo' | replace:'foo','bar' }} #=> 'barbar' |
replace_first |
最初の出現を置き換えます | {{ 'barbar' | replace_first:'bar','foo' }} #=> 'foobar' |
round |
出力を最も近い整数か、指定された小数点以下の桁数に丸めます | {{ 4.5612 | round: 2 }} #=> 4.56 |
size |
配列または文字列のサイズを返します | {{ "Ground control to Major Tom."| size }} #=> 28 |
sort |
配列の要素をソートします | |
split |
一致するパターンで文字列を分割します | {{ "a~b" | split:"~" }} #=> ['a','b'] |
strip_html |
文字列からHTMLを削除します | {{ "How <em>are</em> you?"| strip_html }} #=> How are you? |
strip_newlines |
文字列からすべての改行(\n)を削除します | |
times |
乗算 | {{ 5 | times:4 }} #=> 20 |
truncate |
文字列をx文字まで切り詰めますまた文字列に追加する2番目のパラメーターを受け入れます | {{ 'foobarfoobar' | truncate: 5, '.' }} #=> 'foob.' |
truncatewords |
文字列をx文字まで切り詰めます | |
upcase |
入力文字列を大文字に変換します | {{ "Parker Moore" | upcase }} #=> PARKER MOORE |
タグマークアップ
[Tag(タグ)]マークアップはテキストに解決されず、対応する一対の波括弧とパーセント記号で囲まれます。
{%これはテキスト%に解決されません}
通常、タグはテンプレートにロジックを適用するために使用されます。Liquidでサポートされているタグを使用すると、1つのテンプレートで複数のニーズを満たすことができます。
タグを使用してif/else
ステートメントを実行し、1つのテンプレートで複数の言語で電子メールを送信することができます。
例:
{% if user.user_metadata.lang == 'en' %}
[英語の電子メール本文]
{% elsif user.user_metadata.lang == 'de' %}
[ドイツ語の電子メール本文]
{% endif %}
追加の条件を使用する必要がある場合は、caseステートメントの使用を検討してください。caseステートメントの詳細については、Githubの[Liquid for Designers(デザイナー向けLiquid)]を参照してください。
タグコメント
{%comment%}
タグと{%endcomment%}
タグの間のコンテンツはレンダリングされません。
これは表示されます。{% comment %}これは表示されません。{% endcomment %}
タグraw
Liquidマークアップの処理を一時的に無効にするには、{%raw%}
と{%endraw%}
を使用します。これは、Liquidと競合する構文を使用している場合に便利です。
たとえば、次のMustache.js
行を次のようにエスケープできます。
{% raw %}
var clients = "Clients:<ul>{{#client}}<li>{{fn}} {{ln}}" + {{phone}}</li>{{/client}}</ul>";
{% endraw %}
デバッグ変数
テンプレートの開発を支援するために、カスタム{%debug%}
liquidタグが追加されました。このタグは、テンプレートが表示されたときにテンプレートで使用できるテンプレート変数の概要を出力します。このタグは、「ライブ」のテンプレートから必ず削除してください。