|filternameです。フィルターは文または式のすぐ後に、区切り記号で囲んで追加します。パラメーターを括弧内に追加指定できるフィルターもあります。文字列、数値、およびブール値のパラメーターを使用するフィルターの基本構文は、|filtername("stringParameter", 10, true)です。文字列パラメーターについては、引用符で囲む必要があることに注意してください。また、HubLフィルターにはエイリアスが存在し、それをプライマリーフィルターと同じ目的に使用できます。
以下にて、サポートされる全てのHubLフィルターを示します。
abs
数値の絶対値を取得します。このフィルターを使用すると、常に正の数値が得られます。add
1つの数値を別の数値に加算します。このフィルターは+演算子と同じように機能します。括弧内のパラメーターは、最初の数値に合わせる加算値です。attr
ディクショナリー(辞書型)の属性をレンダリングします。このフィルターの機能は、content.absolute_urlなど、ディクショナリーに含まれる変数を出力する機能と同等です。
batch
1つのシーケンス内の複数項目をグループ化します。 以下の例では、フルーツの種類からなるシーケンスが変数に格納されています。batchフィルターは、シーケンスを反復処理するループに適用されます。入れ子ループが3回実行され、行ごとに3種類のフルーツを出力した後、外側のループが再び実行されます。フルーツが5種類しかないので、最終的な出力では最後の項目が (2番目のパラメーター)に置き換えられる点にご注目ください。
between_times
指定された時間単位を使用して、2つの日時オブジェクト間の差異を計算します。bool
テキスト文字列の値をブール値に変換します。capitalize
変数値の最初の文字を大文字にします。最初の文字が大文字になり、その他の文字は全て小文字になります。スペースまたはハイフンで区切られている後続の単語について、最初の文字は大文字になりません。center
空白を使用して、指定されたフィールドの長さ内でテキストを中央に配置します。HubSpotのHTMLコンパイラーは自動的に空白を除去するので、このフィルターは推奨されず、特に役立つわけでもありませんが、包括的な説明のためにここで説明しています。 以下の例では、空白が除去されないようにpreタグ内の変数にこのフィルターを適用しています。convert_rgb
HEX値をRGB文字列に変換します。色変数をRGBに変換して、RGBA CSS宣言で使用する必要がある場合に便利です。以下の例では、色モジュールによって設定された値がRGB値に変換され、RGBA CSS宣言で使用されます。cut
値から文字列を除去します。このフィルターを使用すると、一致する特定の部分文字列を切り取ることができます。パラメーターには、削除対象となる部分文字列を指定します。以下の例では、スペースと単語「world」が元の変数値から除去されます。datetimeformat(非推奨)
default
値が未定義の場合に、最初のパラメーターを返します。それ以外の場合、変数の値が出力されます。Falseと評価される変数でdefaultを使用するには、2番目のパラメーターをtrueに設定する必要があります。
以下の1つ目の例では、変数が未定義の場合にメッセージが出力されます。2つ目の例では、未定義ではない空の文字列にフィルターを適用していますが、2番目のパラメーターが原因でメッセージが出力されます。
dictsort
ディクショナリー(辞書型)を並べ替えて「キー、値」のペアを生成します。ディクショナリーはデフォルトでは並べ替えられませんが、キーまたは値を基準に並べ替えてディクショナリーを出力できます。最初のパラメーターは、並べ替えで大文字と小文字を区別するかどうかを決定するブール値です。2番目のパラメーターは、キーと値のどちらを基準にディクショナリーを並べ替えるかを決定します。以下の例では、コンタクトについて確認済みの詳細情報を全て含む、並べ替えられたコンタクトディクショナリーを出力します。difference
このフィルターは、2つのセットまたはリストの差異を返します。フィルターから返されるリストには、最初のリストに含まれ、2番目には含まれない一意の要素が全て格納されます。divide
現在の値を除数で割ります。渡すパラメーターは除数です。このフィルターは、/演算子の代わりになります。divisible
Divisibleフィルターは、divisibleby式評価の代わりになります。値を特定の数で割り切れる場合、trueと評価されます。
escape_html
HTML入力の内容をエスケープします。文字列を受け入れ、&、<、>、‘、”、およびescape_jinjava文字をHTMLで安全に使用できるシーケンスに変換します。HTMLで使用されているものの、HTMLを許可しないHubL変数には、このフィルターを使用します。
escape_attr
HTML属性入力の内容をエスケープします。文字列を受け入れ、&、<、‘、”、およびescape_jinjava文字をHTMLで安全に使用できるシーケンスに変換します。このフィルターは、HTML属性に追加されるHubL変数に使用します。
hrefなど、URLを受け入れる属性の値をエスケープする場合は、代わりにescape_urlフィルターを使用してください。
escape_jinjava
文字列内の{および}文字を、Jinjavaで安全に使用できるシーケンスに変換します。このような文字が含まれる可能性のあるテキストをJinjavaで表示する際にこのフィルターを使用します。
escape_js
JavaScript変数宣言に文字列を安全に挿入できるように、(escape_jinjavaを含む)文字列をエスケープ処理します。このフィルターは、HTMLスクリプト要素内で使用されるHubL変数に使用します。
escape_url
URL入力の内容をエスケープし、指定されたプロトコルを実行し、無効で危険な文字を削除し、HTMLエンティティーをエンコードします。URLが有効な場合は空の値を返します。このフィルターは、有効なURLである必要があるHTML属性内で使用されるHubL変数に使用します。escapejson
文字列をJSON値として使用できるように、文字列をエスケープ処理します。filesizeformat
数値を判読可能なファイルサイズ(13 kB、4.1 MB、102 Bytesなど)に変更します。デフォルトでは10進プレフィックス(MBやGBなど)が使用されますが、Mebi(MiB)やGibi(GiB)などのバイナリープレフィックスを使用するには、binaryパラメーターをtrueに設定します。
first
シーケンス内の最初の項目を返します。float
値を浮動小数点値に変換します。正常に変換できない場合は0.0を返します。このデフォルトの動作は、最初のパラメーターを使用することで変更できます。
forceescape
厳密なHTMLエスケープを実行します。HubSpotの環境では二重にエスケープを行うケースがないため、基本的にはescapeフィルターと同じ動作をします。format
Python文字列の書式設定をオブジェクトに適用します。%sを別の変数に置換できます。
format_currency(非推奨)
format_currency_value
パラメーターとして渡されるポータルのデフォルトの通貨とロケールに基づき、特定の数値の書式を通貨として設定します。非推奨のformat_currencyフィルターを置き換えるものです。format_date
日付オブジェクトの日付コンポーネントを書式設定します。format_datetime
日付オブジェクトの日付と時刻のコンポーネント両方を書式設定します。このフィルターは、非推奨になったdatetimeformatフィルターの後続となるものです。デフォルトでは、UTC-00:00のタイムゾーンの日時を返します。format_number
指定されたロケールに基づいて、特定の数値の書式を設定します。小数点以下の最大精度を設定する2番目のパラメーターを含みます。format_time
日付オブジェクトの時刻コンポーネントを書式設定します。fromjson
JSON文字列をオブジェクトに変換します。geo_distance
地上の2地点間の楕円2D距離を計算します。groupby
共通の属性を基準に、一連のオブジェクトをグループ化します。パラメーターで、グループ化の基準となる共通属性を設定します。indent
空白を使用して、指定されたフィールドの長さ内でテキストをインデントします。HubSpotのHTMLコンパイラーは自動的に空白を除去するので、このフィルターは推奨されず、特に役立つわけでもありませんが、包括的な説明のためにここで説明しています。以下の例では、空白が除去されないように<pre>タグ内の変数にindentフィルターを適用しています。最初のパラメーターは空白の幅を制御し、2番目のブール値は最初の行をインデントするかどうかを切り替えます。
int
値を整数に変換します。正常に変換できない場合は0を返します。このデフォルトの動作は、最初のパラメーターを使用することで変更できます。
intersect
2つのセットまたはリストの共通部分を返します。フィルターから返されるリストには、両方のリストに含まれる一意の要素が全て格納されます。ipaddr
値が有効なIPv4またはIPv6アドレスの場合には、trueと評価されます。
join
シーケンスの文字列を連結した1つの文字列を返します。要素間はデフォルトでは空文字列で区切られますが、任意指定のパラメーターを使って区切り文字を定義できます。2番目のパラメーターを使用すると、結合する属性を指定できます。last
シーケンスの最後の項目を返します。length
シーケンスまたはマッピング内の項目数を返します。list
値を変換して1つのリストにします。文字列は、角括弧シーケンスの区切り文字[ ]で囲まれていない限り、別々の文字として返されます。
log
数値の自然対数を計算します。lower
値に含まれる全ての文字を小文字に変換します。map
オブジェクトのシーケンスにフィルターを適用するか、属性を検索します。オブジェクトリストを扱うとき、その中の特定の値だけに対象を絞り込むには、これが便利です。 基本的な使用法は、属性に対するマッピングです。例えば、ディクショナリーの特定の属性に特定の値が存在するかどうかを検査する条件付きロジックを使用する場合です。または、フィルター名と引数を渡してフィルターを起動することもできます。md5
特定のオブジェクトのmd5ハッシュを計算します。minus_time
日時オブジェクトで一定の時間を差し引きます。multiply
1つの値を数値で乗算します。*演算子と同じ機能です。plus_time
日時オブジェクトに一定の時間を加えます。pprint
変数をpprintします。変数の型など、デバッグに役立つ情報を出力します。random
シーケンスからランダムな1つの項目を返します。regex_replace
正規表現パターンを検索して、文字シーケンスで置換します。最初の引数はRE2形式の正規表現パターン、2つ目は置換文字列です。 詳しくはRE2正規表現の構文(英語)をご確認ください。reject
オブジェクトに式による検証を適用して、該当する要素を拒否することにより、オブジェクトのシーケンスをフィルタリングします。rejectattr
オブジェクトの属性を検証して該当する要素を拒否することにより、オブジェクトのシーケンスをフィルタリングします。render
HubLを含む文字列を早期にレンダリングして、出力を他のフィルターに渡すことができるようにします。replace
部分文字列の全てのインスタンスを、新しいものに置換します。reverse
オブジェクトを反転します。または、オブジェクトを逆順に反復処理するイテレーターを返します。リストを反転するには.reverse()を使用しますroot
値の平方根を計算します。round
数値を指定された精度で四捨五入します。safe
値に「safe」のマークを付けます。つまり、自動エスケープが有効になっている環境で、この変数はエスケープされません。sanitize_html
リッチ テキスト コンテンツの出力用にHTML入力のコンテンツをサニタイズ処理します。文字列を受け入れ、許可されていないHTMLタグを削除します。HTMLで使用されており、安全なHTMLを許可するHubL変数に、このフィルターを使用します。 特定のタイプのHTMLタグを許可するパラメーターとして、FORMATTING、BLOCKS、STYLES、LINKS、TABLES、IMAGESを含めることができます。例えば、sanitize_html(IMAGES)です。
sanitize_htmlを使用すると、全てのパラメーターがフィルターに含められます。
さらにSTRIPパラメーターを含めると、全てのHTMLを削除できます。また、ネストされた解釈を防ぐ目的で、全てのコンテンツがescape_jinjavaを介して実行されます。
select
オブジェクトを検証して該当する要素だけを選ぶことにより、オブジェクトのシーケンスをフィルタリングします。selectattr
オブジェクトの属性を検証して該当する要素だけを選ぶことにより、オブジェクトのシーケンスをフィルタリングします。shuffle
シーケンス内の反復の順序をランダムにします。以下の例は、標準的なブログのループをシャッフルします。slice
イテレーターをスライスして、これらの項目を含むリストの一覧を返します。最初のパラメーターにはスライスされる項目数を指定し、2番目のパラメーターには空白のスライスに埋める文字を指定します。sort
反復可能データを並べ替えます。このフィルターを使ってHubSpotで属性を基準に並べ替える際には、全てのパラメーターが必須です。最初のパラメーターは、並べ替え順序を逆にするブール値です。2番目のパラメーターは、並べ替えで大文字と小文字を区別するかどうかを決定します。最後のパラメーターは、並べ替え基準となる属性を指定します。以下の例ではブログ内の記事が、名前のアルファベット順でレンダリングされます。split
入力文字列を特定の区切り文字で分割して、リストにします。最初のパラメーターは、変数を分割する基準となる区切り文字を指定します。2番目のパラメーターは、変数の分割回数を決定します。残りの項目が存在する場合、それらはグループ化されたままになります。以下の例では、複数の名前からなる1つの文字列が;を基準に最初の4回だけ分割されます。
string
他の型の変数を文字列に変換します。以下の例では、整数が文字列に変換されます(変数の型の変化を確認するためにpprintを使用しています)。
striptags
SGML/XMLタグを除去して、隣接する空白を1つのスペースで置換します。このフィルターは、変数内のHTMLタグを除去する際に使用できます。strtodate
日付文字列と日付形式を日付オブジェクトに変換します。strtotime
日時文字列と日時書式を変換して、日時オブジェクトにします。sum
シーケンス内の数値を全て合算します。最初のパラメーターには任意の属性を指定し、2番目のパラメーターには、変数内に加算するものがない場合に返す値を設定します。symmetric_difference
2つのセットまたはリストの対称差を返します。フィルターから返されるリストには、1つ目のリストに含まれ、2つ目には含まれない一意の要素、または2つ目のリストに含まれ、1つ目には含まれない一意の要素が全て格納されます。title
見出し表記の値を返します。つまり、英単語の先頭が大文字に、残りの文字は全て小文字になります。tojson
オブジェクトをJSON文字列として書き出します。trim
先頭および末尾にある空白を除去します。包括的な説明のためにここで説明していますが、HubSpotでは標準でマークアップから前後の空白が削除されます。truncate
特定の文字数よりも後ろにあるテキストを切り捨てます。デフォルトは255文字です。このカウントにはHTML文字が含まれます。truncatehtml
HTMLマークアップを考慮しながら(つまり、ネストしている全てのタグが適切に閉じられ)、特定の文字列を切り捨てます。これにより、切り捨て後にタグが開いたままになることが防止されます。HTML文字は、合計文字数にカウントされません。unescape_html
HTMLエンコードされたエンティティーを含むテキストを同等のUnicodeに変換します。union
2つのセットまたはリストの共通部分を返します。フィルターから返されるリストには、いずれかのリストに含まれる一意の要素が全て格納されます。unique
オブジェクトのシーケンスまたはディクショナリーから一意のセットを抽出します。(関数から戻される記事リストなどの)ディクショナリーをフィルタリングする場合、どの属性を基準にディクショナリー項目の重複を削除するかを指定できます。unixtimestamp
日時オブジェクトをUnixタイムスタンプに変換します。upper
値に含まれる全ての文字を大文字に変換します。urlencode
文字列をエスケープしてUTF-8形式でURLエンコードします。ディクショナリーと通常の文字列、およびペアワイズ反復を受け入れます。urldecode
エンコードされたURL文字列を元のURLにデコードします。ディクショナリーと通常の文字列、およびペアワイズ反復を受け入れます。urlize
プレーンテキスト内のURLを、クリック可能なリンクに変換します。追加的な整数をこのフィルターに渡した場合、URLがその数値に短縮されます。2番目のパラメーターは、リンクをrel=“no follow”にするかどうかを指示するブール値です。最後のパラメーターでは、リンクを新しいタブで開くかどうかを指定できます。wordcount
文字列内の単語数をカウントします。wordwrap
指定された文字数で折り返します。HubSpotではデフォルトで空白が除去されるため、この機能は<pre>で特に役立ちます。