最終更新日: 2025年8月28日
フィルターはHubLの最終出力に影響を与えます。さまざまなHubL文と式にフィルターを適用することで、サーバーから出力されるテンプレートマークアップを変更できます。 フィルターの基本構文は|filternameです。フィルターは文または式のすぐ後に、区切り記号で囲んで追加します。パラメーターを括弧内に追加指定できるフィルターもあります。文字列、数値、およびブール値のパラメーターを使用するフィルターの基本構文は、|filtername("stringParameter", 10, true)です。文字列パラメーターについては、引用符で囲む必要があることに注意してください。また、HubLフィルターにはエイリアスが存在し、それをプライマリーフィルターと同じ目的に使用できます。 以下にて、サポートされる全てのHubLフィルターを示します。

注:

CMS Hub上のページやブログ記事では、コンタクトトークンや会社トークンなどのパーソナライズトークンにHubLフィルターを適用できますが、Eメールでは適用できません

abs

数値の絶対値を取得します。このフィルターを使用すると、常に正の数値が得られます。
{% set my_number = -53 %}
{{ my_number|abs }}

add

1つの数値を別の数値に加算します。このフィルターは+演算子と同じように機能します。括弧内のパラメーターは、最初の数値に合わせる加算値です。
{% set my_num = 40 %}
{{ my_num|add(13) }}

attr

ディクショナリー(辞書型)の属性をレンダリングします。このフィルターの機能は、content.absolute_urlなど、ディクショナリーに含まれる変数を出力する機能と同等です。
{{ content|attr("absolute_url") }}
パラメーター説明
attribute_nameどの属性を出力するかを指定します

batch

1つのシーケンス内の複数項目をグループ化します。 以下の例では、フルーツの種類からなるシーケンスが変数に格納されています。batchフィルターは、シーケンスを反復処理するループに適用されます。入れ子ループが3回実行され、行ごとに3種類のフルーツを出力した後、外側のループが再び実行されます。フルーツが5種類しかないので、最終的な出力では最後の項目が (2番目のパラメーター)に置き換えられる点にご注目ください。
{% set rows = ["apples", "oranges", "pears", "grapes", "blueberries"] %}

<table>
{% for row in rows|batch(3, " ") %}
<tr>
{% for column in row %}
<td>{{ column }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
パラメータータイプ説明
linecount数値バッチに含める項目の数。
fill_with文字列項目の欠落がある場合に何で埋めるかを指定します。

between_times

指定された時間単位を使用して、2つの日時オブジェクト間の差異を計算します。

注:

このフィルターは、日付を返す変数でのみ使用してください。2024年9月30日以降、このフィルターはnull値が渡された場合に現在の日付を返さなくなります。この日付を過ぎると、フィルター内のnull値は2024年9月30日を返します。
{% set begin = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{% set end = "2018-07-20T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{{ begin|between_times(end, "days") }}
パラメータータイプ説明
end日時オブジェクト終了日時オブジェクト。
timeunit文字列有効な時間単位は、nanosmicrosmillissecondsminuteshourshalf_daysdaysweeksmonthsyearsdecadescenturiesmillenniaerasです。

bool

テキスト文字列の値をブール値に変換します。
{% if "true"|bool == true %}hello world{% endif %}

capitalize

変数値の最初の文字を大文字にします。最初の文字が大文字になり、その他の文字は全て小文字になります。スペースまたはハイフンで区切られている後続の単語について、最初の文字は大文字になりません。
{% set sentence = "the first letter of a sentence should always be capitalized." %}
{{ sentence|capitalize }}

center

空白を使用して、指定されたフィールドの長さ内でテキストを中央に配置します。HubSpotのHTMLコンパイラーは自動的に空白を除去するので、このフィルターは推奨されず、特に役立つわけでもありませんが、包括的な説明のためにここで説明しています。 以下の例では、空白が除去されないようにpreタグ内の変数にこのフィルターを適用しています。
<pre>
{% set var = "string to center" %}
before{{ var|center(80) }}after
</pre>
パラメータータイプ説明
width数値テキストを中央揃えするための空白の長さを指定します。

convert_rgb

HEX値をRGB文字列に変換します。色変数をRGBに変換して、RGBA CSS宣言で使用する必要がある場合に便利です。以下の例では、色モジュールによって設定された値がRGB値に変換され、RGBA CSS宣言で使用されます。
{% set my_color = "#FFFFFF" %}
{{ my_color|convert_rgb }}
{% set my_color2="#000000" %}
<div style="background: rgba({{ my_color2|convert_rgb }}, .5)"></div>

cut

値から文字列を除去します。このフィルターを使用すると、一致する特定の部分文字列を切り取ることができます。パラメーターには、削除対象となる部分文字列を指定します。以下の例では、スペースと単語「world」が元の変数値から除去されます。
{% set my_string = "Hello world." %}
{{ my_string|cut(" world") }}
パラメータータイプ説明
characters_to_cut文字列削除対象となる部分文字列。

datetimeformat(非推奨)

注:

このフィルターは非推奨になりました。代わりに、より標準化された構文を使用するformat_datetimeフィルターを使用してください。

default

値が未定義の場合に、最初のパラメーターを返します。それ以外の場合、変数の値が出力されます。Falseと評価される変数でdefaultを使用するには、2番目のパラメーターをtrueに設定する必要があります。 以下の1つ目の例では、変数が未定義の場合にメッセージが出力されます。2つ目の例では、未定義ではない空の文字列にフィルターを適用していますが、2番目のパラメーターが原因でメッセージが出力されます。
{{ my_variable|default("my_variable is not defined") }}
{{ ""|default("the string was empty", true) }}
パラメータータイプ説明
default_value文字列変数が未定義の場合に返される値。変数が定義されている場合は、変数の値が返されます。
truthyブール値falseと評価される変数で使用するには、trueに設定します。

dictsort

ディクショナリー(辞書型)を並べ替えて「キー、値」のペアを生成します。ディクショナリーはデフォルトでは並べ替えられませんが、キーまたは値を基準に並べ替えてディクショナリーを出力できます。最初のパラメーターは、並べ替えで大文字と小文字を区別するかどうかを決定するブール値です。2番目のパラメーターは、キーと値のどちらを基準にディクショナリーを並べ替えるかを決定します。以下の例では、コンタクトについて確認済みの詳細情報を全て含む、並べ替えられたコンタクトディクショナリーを出力します。
{% for item in contact|dictsort(false, "value") %}
{{item}}
{% endfor %}
パラメータータイプ説明
case_sensitiveブール値並べ替えの際に大文字と小文字を区別するかどうかを指定します。
sort_by"key" | "value"keyまたはvalueのどちらを基準に並べ替えるかを指定します。

difference

このフィルターは、2つのセットまたはリストの差異を返します。フィルターから返されるリストには、最初のリストに含まれ、2番目には含まれない一意の要素が全て格納されます。
{{ [1, 2, 3]|difference([2, 3, 4, 5]) }}
パラメータータイプ説明
list配列最初のリストとの差異を見つけるために比較する2番目のリスト。

divide

現在の値を除数で割ります。渡すパラメーターは除数です。このフィルターは、/演算子の代わりになります。
{% set numerator = 106 %}
{{ numerator|divide(2) }}
パラメータータイプ説明
divisor数値変数を除算するための数値。

divisible

Divisibleフィルターは、divisibleby式評価の代わりになります。値を特定の数で割り切れる場合、trueと評価されます。
{% set num = 10 %}
{% if num|divisible(2) %}
The number is divisible by 2
{% endif %}
パラメータータイプ説明
divisor数値値を割り切れるかどうかを評価するために使用する数値。

escape_html

HTML入力の内容をエスケープします。文字列を受け入れ、&<>、およびescape_jinjava文字をHTMLで安全に使用できるシーケンスに変換します。HTMLで使用されているものの、HTMLを許可しないHubL変数には、このフィルターを使用します。
{% set escape_string = "<div>This markup is printed as text</div>" %}
{{ escape_string|escape_html }}

escape_attr

HTML属性入力の内容をエスケープします。文字列を受け入れ、&<、およびescape_jinjava文字をHTMLで安全に使用できるシーケンスに変換します。このフィルターは、HTML属性に追加されるHubL変数に使用します。 hrefなど、URLを受け入れる属性の値をエスケープする場合は、代わりにescape_urlフィルターを使用してください。
{% set escape_string = "This <br> markup is printed as text" %}
<img src="test.com/imageurl" alt="{{escape_string|escape_attr}}">

escape_jinjava

文字列内の{および}文字を、Jinjavaで安全に使用できるシーケンスに変換します。このような文字が含まれる可能性のあるテキストをJinjavaで表示する際にこのフィルターを使用します。
{% set escape_string = "{{This markup is printed as text}}" %}
{{ escape_string|escape_jinjava }}

escape_js

JavaScript変数宣言に文字列を安全に挿入できるように、(escape_jinjavaを含む)文字列をエスケープ処理します。このフィルターは、HTMLスクリプト要素内で使用されるHubL変数に使用します。
{% set escape_string = "\tThey said 'This string can safely be inserted into JavaScript.'" %}
{{ escape_string|escape_js }}

escape_url

URL入力の内容をエスケープし、指定されたプロトコルを実行し、無効で危険な文字を削除し、HTMLエンティティーをエンコードします。URLが有効な場合は空の値を返します。このフィルターは、有効なURLである必要があるHTML属性内で使用されるHubL変数に使用します。
{% set escape_string = "http://example.com/with space/<html>" %}
<a href="https://developers.hubspot.jp/docs{{ escape_string|escape_url }}"></a>

escapejson

文字列をJSON値として使用できるように、文字列をエスケープ処理します。
{% set escape_string = "<script>alert('oh no!')</script>" %}
{% require_js position="head" %}
<script data-search_input-config="config_{{ name }}" type="application/json">
{
"autosuggest_results_message": "{{ escape_string|escapejson }}"
}
</script>
{% end_require_js %}

filesizeformat

数値を判読可能なファイルサイズ(13 kB、4.1 MB、102 Bytesなど)に変更します。デフォルトでは10進プレフィックス(MBやGBなど)が使用されますが、Mebi(MiB)やGibi(GiB)などのバイナリープレフィックスを使用するには、binaryパラメーターをtrueに設定します。
{% set bytes = 10000 %}
{{ bytes|filesizeformat(binary=true) }}
パラメータータイプ説明
binaryブール値trueに設定すると、Mebi(MiB)やGibi(GiB)などのバイナリープレフィックスが使用されます。

first

シーケンス内の最初の項目を返します。
{% set my_sequence = ["Item 1", "Item 2", "Item 3"] %}
{{ my_sequence|first }}

float

値を浮動小数点値に変換します。正常に変換できない場合は0.0を返します。このデフォルトの動作は、最初のパラメーターを使用することで変更できます。
{% set my_text="25" %}
{{ my_text|float + 17 }}
パラメータータイプ説明
default数値正常に変換できない場合に返される整数。

forceescape

厳密なHTMLエスケープを実行します。HubSpotの環境では二重にエスケープを行うケースがないため、基本的にはescapeフィルターと同じ動作をします。
{% set escape_string = "<div>This markup is printed as text</div>" %}
{{ escape_string|forceescape }}

format

Python文字列の書式設定をオブジェクトに適用します。%sを別の変数に置換できます。
{{ "Hi %s %s"|format(contact.firstname, contact.lastname) }}

format_currency(非推奨)

注:

このフィルターは非推奨になりました。代わりに、format_currency_valueフィルターを使用してください。

format_currency_value

パラメーターとして渡されるポータルのデフォルトの通貨とロケールに基づき、特定の数値の書式を通貨として設定します。非推奨のformat_currencyフィルターを置き換えるものです。
{{ 100 | format_currency_value(locale='en-GB', currency='EUR', maxDecimalDigits=6, minDecimalDigits=1) }}
パラメータータイプ説明
locale文字列Javaローカル言語タグ(英語)。デフォルトはページのlocale.Format : ISO639LanguageCodeInLowercase-ISO3166CountryCodeInUppercaseです。
currency文字列通貨の英字のISO 4217コード。デフォルトは、ポータルのデフォルトの通貨です。数値コードは使用できません。
minDecimalDigits数値出力に含める小数桁数の最小値。デフォルトで、通貨のデフォルトの小数桁数に設定されます。
maxDecimalDigits数値出力に含める小数桁数の最大値。デフォルトで、通貨のデフォルトの小数桁数に設定されます。

format_date

日付オブジェクトの日付コンポーネントを書式設定します。

注:

このフィルターは、日付を返す変数でのみ使用してください。2024年9月30日以降、このフィルターはnull値が渡された場合に現在の日付を返さなくなります。この日付を過ぎると、フィルター内のnull値は2024年9月30日を返します。
{{ content.publish_date | format_date('long') }}
{{ content.publish_date | format_date('yyyy.MMMM.dd') }}
{{ content.publish_date | format_date('medium', 'America/New_York', 'de-DE') }}
パラメータータイプ説明
format'short' | 'medium' | 'long' | 'full' | カスタムパターン使用する形式。Unicode LDML(英語)に従ったカスタムパターンを指定できます。
timeZone文字列IANA TZDB形式(英語)で出力される日付のタイムゾーン。
locale文字列ロケール対応の形式に使用するロケール。サポートされているロケールの一覧(英語)を参照してください。

format_datetime

日付オブジェクトの日付と時刻のコンポーネント両方を書式設定します。このフィルターは、非推奨になったdatetimeformatフィルターの後続となるものです。デフォルトでは、UTC-00:00のタイムゾーンの日時を返します。

注:

このフィルターは、日付を返す変数でのみ使用してください。2024年9月30日以降、このフィルターはnull値が渡された場合に現在の日付を返さなくなります。この日付を過ぎると、フィルター内のnull値は2024年9月30日を返します。
{{ content.publish_date | format_datetime('medium', 'America/New_York', 'de-DE') }}
パラメータータイプ説明
format'short' | 'medium' | 'long' | 'full' | カスタムパターン使用する形式。Unicode LDMLに従うカスタムパターンを指定できます。longまたはfullを使用する場合、タイムスタンプにはZが含まれ、オフセットがゼロであるUTC時間(つまり2:23:00 PM Z)を示します。Z指定子を削除するにはtimeZoneを指定してください。
timeZone文字列IANA TZDB形式(英語)で出力される日付のタイムゾーン。デフォルトではUTC時間を返します。
locale文字列ロケール対応の形式に使用するロケール。サポートされているロケールの一覧(英語)を参照してください。

format_number

指定されたロケールに基づいて、特定の数値の書式を設定します。小数点以下の最大精度を設定する2番目のパラメーターを含みます。
{{ 1000|format_number('en-US') }}
{{ 1000.333|format_number('fr') }}
{{ 1000.333|format_number('en-US', 2) }}
パラメータータイプ説明
locale文字列書式設定に使用するロケール。サポートされているロケールの一覧(英語)を参照してください。
maxDecimalDigits数値出力に含める小数桁数の最大値。デフォルトでは、入力値の小数桁数を使用します。

format_time

日付オブジェクトの時刻コンポーネントを書式設定します。

注:

このフィルターは、日付を返す変数でのみ使用してください。2024年9月30日以降、このフィルターはnull値が渡された場合に現在の日付を返さなくなります。この日付を過ぎると、フィルター内のnull値は2024年9月30日を返します。
{{ content.updated | format_time('long') }}
{{ content.updated | format_time('hh:mm a') }}
{{ content.updated | format_time('medium', 'America/New_York', 'de-DE') }}
パラメータータイプ説明
format'short' | 'medium' | 'long' | 'full' | カスタムパターン使用する形式。Unicode LDMLに従うカスタムパターンを指定できます。longまたはfullを使用する場合、タイムスタンプにはZが含まれ、オフセットがゼロであるUTC時間(つまり2:23:00 PM Z)を示します。Z指定子を削除するにはtimeZoneを指定してください。
timeZone文字列IANA TZDB形式(英語)で出力される日付のタイムゾーン。デフォルトではUTC時間を返します。
locale文字列ロケール対応の形式に使用するロケール。サポートされているロケールの一覧(英語)を参照してください。

fromjson

JSON文字列をオブジェクトに変換します。
{% set obj ='{ "name":"Brian","role":"Owner" }' %}
{{ obj|fromjson }}

geo_distance

地上の2地点間の楕円2D距離を計算します。
<!-- in the example below
the HubDB Location =
42.3667, -71.1060 (Cambridge, MA) |
Chicago, IL = 37.3435, -122.0344 -->
{{ row.location | geo_distance(37.3435, -122.0344, "mi") }} MI

groupby

共通の属性を基準に、一連のオブジェクトをグループ化します。パラメーターで、グループ化の基準となる共通属性を設定します。
<ul>
{% for group in contents|groupby("blog_post_author") %}
<li>{{ group.grouper }}
<ul>
{% for content in group.list %}
<li>{{ content.name }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
パラメーター説明
attributeグループ化の基準となる属性。

indent

空白を使用して、指定されたフィールドの長さ内でテキストをインデントします。HubSpotのHTMLコンパイラーは自動的に空白を除去するので、このフィルターは推奨されず、特に役立つわけでもありませんが、包括的な説明のためにここで説明しています。以下の例では、空白が除去されないように<pre>タグ内の変数にindentフィルターを適用しています。最初のパラメーターは空白の幅を制御し、2番目のブール値は最初の行をインデントするかどうかを切り替えます。
<pre>
{% set var = "string to indent" %}
{{ var|indent(2, true) }}
</pre>
パラメータータイプ説明
width数値適用される空白の幅。
indent-firstブール値trueに設定すると、最初の行がインデントされます。

int

値を整数に変換します。正常に変換できない場合は0を返します。このデフォルトの動作は、最初のパラメーターを使用することで変更できます。
{% set string="25" %}
{{ string|int + 17 }}
パラメータータイプ説明
default数値正常に変換できない場合に返される整数。

intersect

2つのセットまたはリストの共通部分を返します。フィルターから返されるリストには、両方のリストに含まれる一意の要素が全て格納されます。
{{ [1, 2, 3]|intersect([2, 3, 4, 5]) }}
パラメータータイプ説明
list整列最初のリストとの共通部分を見つけるために比較される2番目のリスト。

ipaddr

値が有効なIPv4またはIPv6アドレスの場合には、trueと評価されます。
{% set ip = "1.0.0.1" %}
{% if ip|ipaddr %}
The string is a valid IP address
{% endif %}

join

シーケンスの文字列を連結した1つの文字列を返します。要素間はデフォルトでは空文字列で区切られますが、任意指定のパラメーターを使って区切り文字を定義できます。2番目のパラメーターを使用すると、結合する属性を指定できます。
{% set my_list = [1, 2, 3] %}
{% set sep = "---" %}
{{ my_list|join }}
{{ my_list|join("|") }}
{{ my_list|join(sep) }}
パラメータータイプ説明
delimiter文字列文字列の連結に使用する区切り文字。
attributeHubL変数オブジェクト内で結合する値の属性。

last

シーケンスの最後の項目を返します。
{% set my_sequence = ["Item 1", "Item 2", "Item 3"] %}
{% my_sequence|last %}

length

シーケンスまたはマッピング内の項目数を返します。
{% set services = ["Web design", "SEO", "Inbound Marketing", "PPC"] %}
{{ services|length }}

list

値を変換して1つのリストにします。文字列は、角括弧シーケンスの区切り文字[ ]で囲まれていない限り、別々の文字として返されます。
{% set one = 1 %}
{% set two = 2 %}
{% set three = "three" %}
{% set four = ["four"] %}
{% set list_num = one|list + two|list + three|list + four|list %}
{{ list_num }}

log

数値の自然対数を計算します。
{{ 10|log }}
{{ 65536|log(2) }}
パラメータータイプ説明
base数値対数計算に使用する基数。

lower

値に含まれる全ての文字を小文字に変換します。
{% set text="Text to MAKE LowercaSe" %}
{{ text|lower }}

map

オブジェクトのシーケンスにフィルターを適用するか、属性を検索します。オブジェクトリストを扱うとき、その中の特定の値だけに対象を絞り込むには、これが便利です。 基本的な使用法は、属性に対するマッピングです。例えば、ディクショナリーの特定の属性に特定の値が存在するかどうかを検査する条件付きロジックを使用する場合です。または、フィルター名と引数を渡してフィルターを起動することもできます。
{# Usage 1 #}
Apply a filter to a sequence:
{% set seq = ["item1", "item2", "item3"] %}
{{ seq|map("upper") }}

{# Usage 2 #}
Look up an attribute:
{{ content|map("currentState")}}
パラメータータイプ説明
filter文字列オブジェクトのシーケンスに適用するフィルター。

md5

特定のオブジェクトのmd5ハッシュを計算します。
{{ content.absolute_url|md5 }}

minus_time

日時オブジェクトで一定の時間を差し引きます。
{% set date = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{{ date }}
{{ date|minus_time(2, "months") }}
パラメータータイプ説明
diff数値差し引く数量。
timeunit文字列有効な時間単位は、nanosmicrosmillissecondsminuteshourshalf_daysdaysweeksmonthsyearsdecadescenturiesmillenniaerasです。

multiply

1つの値を数値で乗算します。*演算子と同じ機能です。
{% set n = 20 %}
{{ n|multiply(3) }}

plus_time

日時オブジェクトに一定の時間を加えます。
{% set date = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{{ date }}
{{ date|plus_time(5, "days") }}
パラメータータイプ説明
diff数値差し引く数量。
timeunit文字列有効な時間単位は、nanosmicrosmillissecondsminuteshourshalf_daysdaysweeksmonthsyearsdecadescenturiesmillenniaerasです。

pprint

変数をpprintします。変数の型など、デバッグに役立つ情報を出力します。
{% set this_var ="Variable that I want to debug" %}
{{ this_var|pprint }}

random

シーケンスからランダムな1つの項目を返します。

注:

このフィルターを使用すると、ページコンテンツの更新時ではなく、定期的にページのプリレンダリングが実行されます。つまり、フィルタリングされたコンテンツは、ページの再読み込みのたびに更新されるわけではありませんこれは、ブログ記事のランダムなリストの表示など、特定のタイプのコンテンツでは特に問題ではありません。ただし、ページを読み込むたびにコンテンツをランダムに変更する必要がある場合には、代わりにJavaScriptを使用してコンテンツをクライアント側でランダム化する必要があります。
{% for content in contents|random %}
<div class="post-item">Post item markup</div>
{% endfor %}

regex_replace

正規表現パターンを検索して、文字シーケンスで置換します。最初の引数はRE2形式の正規表現パターン、2つ目は置換文字列です。 詳しくはRE2正規表現の構文(英語)をご確認ください。
{{ "contact-us-2"|regex_replace("[^a-zA-Z]", "") }}

reject

オブジェクトに式による検証を適用して、該当する要素を拒否することにより、オブジェクトのシーケンスをフィルタリングします。
{% set some_numbers = [10, 12, 13, 3, 5, 17, 22] %}
{{ some_numbers|reject("even") }}
パラメータータイプ説明
exp_text文字列オブジェクトに適用する式評価の名前。

rejectattr

オブジェクトの属性を検証して該当する要素を拒否することにより、オブジェクトのシーケンスをフィルタリングします。
{% for content in contents|rejectattr("post_list_summary_featured_image") %}
<div class="post-item">
{% if content.post_list_summary_featured_image %}
<div class="hs-featured-image-wrapper">
<a href="https://developers.hubspot.jp/docs{{content.absolute_url}}" title="" class="hs-featured-image-link">
<img src="{{ content.post_list_summary_featured_image }}" class="hs-featured-image">
</a>
</div>
{% endif %}
{{ content.post_list_content|safe }}
</div>
{% endfor %}
パラメータータイプ説明
attribute_name文字列選択する属性を指定します。ドット表記を使用すると、ネストされた属性にアクセスできます。
exp_test文字列オブジェクトに適用する式評価の名前。

render

HubLを含む文字列を早期にレンダリングして、出力を他のフィルターに渡すことができるようにします。
{{ personalization_token("contact.lastname", "default value")|render|lower }}

replace

部分文字列の全てのインスタンスを、新しいものに置換します。
{% if topic %}
<h3>Posts about {{ page_meta.html_title|replace("Blog | ", "") }}</h3>
{% endif %}
パラメータータイプ説明
old文字列置換の対象にする部分文字列。
new文字列置換する文字列。
count数値指定した場合、最初の出現数分のみが置換されます。

reverse

オブジェクトを反転します。または、オブジェクトを逆順に反復処理するイテレーターを返します。リストを反転するには.reverse()を使用します
{% set nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] %}
{% for num in nums|reverse %}
{{ num }}
{% endfor %}

root

値の平方根を計算します。
{{ 16|root }}
{{ 625|root(4) }}
パラメータータイプ説明
nth_root数値計算に使用するn乗根。

round

数値を指定された精度で四捨五入します。
{{ 52.5|round }}
{{ 52.5|round(0, "floor") }}
パラメータータイプ説明
precision数値端数処理の精度を指定します。
rounding_method'common'(デフォルト) | 'ceil' | 'floor'オプションには、common(四捨五入:デフォルト)、ceil(常に切り上げ)、floor(常に切り下げ)があります。

safe

値に「safe」のマークを付けます。つまり、自動エスケープが有効になっている環境で、この変数はエスケープされません。
{{ content.post_list_content|safe }}

sanitize_html

リッチ テキスト コンテンツの出力用にHTML入力のコンテンツをサニタイズ処理します。文字列を受け入れ、許可されていないHTMLタグを削除します。HTMLで使用されており、安全なHTMLを許可するHubL変数に、このフィルターを使用します。 特定のタイプのHTMLタグを許可するパラメーターとして、FORMATTINGBLOCKSSTYLESLINKSTABLESIMAGESを含めることができます。例えば、sanitize_html(IMAGES)です。 sanitize_htmlを使用すると、全てのパラメーターがフィルターに含められます。 さらにSTRIPパラメーターを含めると、全てのHTMLを削除できます。また、ネストされた解釈を防ぐ目的で、全てのコンテンツがescape_jinjavaを介して実行されます。
{% set escape_string = "This <br> <div>markup is <img src='test.com/image'> <span>printed</span> as text.</div>" %}
{{ escape_string|sanitize_html("IMAGES") }}

select

オブジェクトを検証して該当する要素だけを選ぶことにより、オブジェクトのシーケンスをフィルタリングします。
{% set some_numbers = [10, 12, 13, 3, 5, 17, 22] %}
{{ some_numbers|select("even") }}
パラメータータイプ説明
exp_text文字列オブジェクトを検証する式。

selectattr

オブジェクトの属性を検証して該当する要素だけを選ぶことにより、オブジェクトのシーケンスをフィルタリングします。
{% for content in contents|selectattr("post_list_summary_featured_image") %}
<div class="post-item">
{% if content.post_list_summary_featured_image %}
<div class="hs-featured-image-wrapper">
<a href="https://developers.hubspot.jp/docs{{content.absolute_url}}" title="" class="hs-featured-image-link">
<img src="{{ content.post_list_summary_featured_image }}" class="hs-featured-image">
</a>
</div>
{% endif %}
{{ content.post_list_content|safe }}
</div>
{% endfor %}
パラメータータイプ説明
attribute_name文字列テストする属性。ドット表記を使用すると、ネストされた属性にアクセスできます。
exp_test文字列オブジェクトに適用する式評価の名前。
val文字列テストの対象となる値。

shuffle

シーケンス内の反復の順序をランダムにします。以下の例は、標準的なブログのループをシャッフルします。

注:

このフィルターを使用すると、ページコンテンツの更新時ではなく、定期的にページのプリレンダリングが実行されます。つまり、フィルタリングされたコンテンツは、ページの再読み込みのたびに更新されるわけではありませんこれは、ブログ記事のランダムなリストの表示など、特定のタイプのコンテンツでは特に問題ではありません。ただし、ページを読み込むたびにコンテンツをランダムに変更する必要がある場合には、代わりにJavaScriptを使用してコンテンツをクライアント側でランダム化する必要があります。
{% for content in contents|shuffle %}
<div class="post-item">Markup of each post</div>
{% endfor %}

slice

イテレーターをスライスして、これらの項目を含むリストの一覧を返します。最初のパラメーターにはスライスされる項目数を指定し、2番目のパラメーターには空白のスライスに埋める文字を指定します。
{% set items = ["laptops", "tablets", "smartphones", "smart watches", "TVs"] %}
<div class="columwrapper">
{% for column in items|slice(3," ") %}
<ul class="column-{{ loop.index }}">
{% for item in column %}
<li>{{ item }}</li>
{% endfor %}
</ul>
{% endfor %}
</div>
パラメータータイプ説明
slices数値スライスされる項目の数。
filler文字列空白のスライスに埋める文字を指定します。

sort

反復可能データを並べ替えます。このフィルターを使ってHubSpotで属性を基準に並べ替える際には、全てのパラメーターが必須です。最初のパラメーターは、並べ替え順序を逆にするブール値です。2番目のパラメーターは、並べ替えで大文字と小文字を区別するかどうかを決定します。最後のパラメーターは、並べ替え基準となる属性を指定します。以下の例ではブログ内の記事が、名前のアルファベット順でレンダリングされます。
{% set my_posts = blog_recent_posts("default", limit=5) %}

{% for item in my_posts|sort(False, False, "name") %}
{{ item.name }}<br>

{% endfor %}
パラメータータイプ説明
reverseブール値並べ替え順序を逆にするには、trueに設定します。
case_sensitiveブール値trueに設定すると、並べ替えで大文字と小文字が区別されま。
attribute文字列並べ替えの基準となる属性。リストを並べ替えるときには省略します。

split

入力文字列を特定の区切り文字で分割して、リストにします。最初のパラメーターは、変数を分割する基準となる区切り文字を指定します。2番目のパラメーターは、変数の分割回数を決定します。残りの項目が存在する場合、それらはグループ化されたままになります。以下の例では、複数の名前からなる1つの文字列が;を基準に最初の4回だけ分割されます。
{% set string_to_split = "Mark; Irving; Helly; Dylan; Milchick; Harmony;" %}
{% set names = string_to_split|split(";", 4) %}
<ul>
{% for name in names %}
<li>{{ name }}</li>
{% endfor %}
</ul>
パラメータータイプ説明
character_to_split_by文字列変数を分割する区切り文字を指定します。
number_of_splits数値変数を分割する回数を指定します。残りの項目(存在する場合)は、グループ化されたままになります。

string

他の型の変数を文字列に変換します。以下の例では、整数が文字列に変換されます(変数の型の変化を確認するためにpprintを使用しています)。
{% set number_to_string = 45 %}
{{ number_to_string|string|pprint }}

striptags

SGML/XMLタグを除去して、隣接する空白を1つのスペースで置換します。このフィルターは、変数内のHTMLタグを除去する際に使用できます。
{% set some_html = "<div><strong>Some text</strong></div>" %}
{{ some_html|striptags }}

strtodate

日付文字列と日付形式を日付オブジェクトに変換します。
{{ '3/3/21'|strtodate('M/d/yy') }}
パラメータータイプ説明
dateFormat文字列使用する日付形式(英語)。

strtotime

日時文字列と日時書式を変換して、日時オブジェクトにします。
{{ "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ")|unixtimestamp }}
パラメータータイプ説明
datetimeFormat文字列使用する日付と時刻の形式(英語)。

sum

シーケンス内の数値を全て合算します。最初のパラメーターには任意の属性を指定し、2番目のパラメーターには、変数内に加算するものがない場合に返す値を設定します。
// Simple sum
{% set sum_this = [1, 2, 3, 4, 5] %}
{{ sum_this|sum }}

// Sum of attribute
{% set items = [15, 10] %}
{% set dict_var = [{"name": "Item1", "price": "20"}, {"name": "Item2", "price": "10"}] %}
Total: {{ dict_var|sum(attribute="price") }}
パラメータータイプ説明
attribute文字列合計する属性。
return_if_nothing文字列変数内に加算するものがない場合に返す値。

symmetric_difference

2つのセットまたはリストの対称差を返します。フィルターから返されるリストには、1つ目のリストに含まれ、2つ目には含まれない一意の要素、または2つ目のリストに含まれ、1つ目には含まれない一意の要素が全て格納されます。
{{ [1, 2, 3]|symmetric_difference([2, 3, 4, 5]) }}
パラメータータイプ説明
list整列1つ目のリストとの対称差を見つけるために比較する2つ目のリスト。

title

見出し表記の値を返します。つまり、英単語の先頭が大文字に、残りの文字は全て小文字になります。
{% set my_title="my title should be title case" %}
{{ my_title|title }}

tojson

オブジェクトをJSON文字列として書き出します。
{% for content in contents %}
{{ content.blog_post_author|tojson }}
{% endfor %}

trim

先頭および末尾にある空白を除去します。包括的な説明のためにここで説明していますが、HubSpotでは標準でマークアップから前後の空白が削除されます。
{{ " remove whitespace " }}
{{ " remove whitespace "|trim }}

truncate

特定の文字数よりも後ろにあるテキストを切り捨てます。デフォルトは255文字です。このカウントにはHTML文字が含まれます。
: このフィルターは単語間のスペースを使用して文字列を短縮するため、日本語などの文字間にスペースがない言語では期待どおりに機能しないことがあります。
{{ "I only want to show the first sentence. Not the second."|truncate(40) }}
{{ "I only want to show the first sentence. Not the second."|truncate(35, true, "..........") }}
パラメータータイプ説明
number_of_characters数値テキストが切り捨てられる前の許容文字数。デフォルト値は255文字です。
breakwordブール値trueの場合、長さでテキストが切り捨てられます。falseの場合は、最後の単語が除去されます。
end文字列切り捨て後に付加されるデフォルトの記号「…」を変更します。

truncatehtml

HTMLマークアップを考慮しながら(つまり、ネストしている全てのタグが適切に閉じられ)、特定の文字列を切り捨てます。これにより、切り捨て後にタグが開いたままになることが防止されます。HTML文字は、合計文字数にカウントされません。
: このフィルターは単語間のスペースを使用して文字列を短縮するため、日本語などの文字間にスペースがない言語では期待どおりに機能しないことがあります。
{% set html_text = "<p>I want to truncate this text without breaking my HTML<p>" %}
{{ html_text|truncatehtml(28, "..." , false) }}
パラメータータイプ説明
number_of_characters数値テキストが切り捨てられる前の許容文字数。デフォルト値は255文字です。
end文字列切り捨て後に付加されるデフォルトの記号「…」を変更します。
breakwordブール値ブール値。trueの場合、長さでテキストが切り捨てられます。false(デフォルト)の場合は、最後の単語が除去されます。任意のパラメーターのうち1つだけを使用する場合は、例えばtruncatehtml(70, breakwords = false)のようにキーワード引数を使用します。

unescape_html

HTMLエンコードされたエンティティーを含むテキストを同等のUnicodeに変換します。
{% set escape_string = "me & you" %}
{{ escape_string|unescape_html }}

union

2つのセットまたはリストの共通部分を返します。フィルターから返されるリストには、いずれかのリストに含まれる一意の要素が全て格納されます。
{{ [1, 2, 3]|union([2, 3, 4, 5]) }}
パラメータータイプ説明
list整列1つ目のリストに対して結合される2つ目のリスト。

unique

オブジェクトのシーケンスまたはディクショナリーから一意のセットを抽出します。(関数から戻される記事リストなどの)ディクショナリーをフィルタリングする場合、どの属性を基準にディクショナリー項目の重複を削除するかを指定できます。
{% set my_sequence = ["one", "one", "two", "three" ] %}
{{ my_sequence|unique }}
パラメータータイプ説明
attr文字列ディクショナリー値を絞り込む際に使用する属性を指定します。

unixtimestamp

日時オブジェクトをUnixタイムスタンプに変換します。

注:

このフィルターは、日付を返す変数でのみ使用してください。2024年9月30日以降、このフィルターはnull値が渡された場合に現在の日付を返さなくなります。この日付を過ぎると、フィルター内のnull値はSeptember 30, 2024を返します。
{{ local_dt }}
{{ local_dt|unixtimestamp }}

upper

値に含まれる全ての文字を大文字に変換します。
{% set text="text to make uppercase" %}
{{ text|upper }}

urlencode

文字列をエスケープしてUTF-8形式でURLエンコードします。ディクショナリーと通常の文字列、およびペアワイズ反復を受け入れます。
{% set encode_value="Escape & URL encode this string" %}
{{ encode_value|urlencode }}

urldecode

エンコードされたURL文字列を元のURLにデコードします。ディクショナリーと通常の文字列、およびペアワイズ反復を受け入れます。
{% set decode_value="Escape+%26+URL+decode+this+string" %}
{{ decode_value|urldecode }}

urlize

プレーンテキスト内のURLを、クリック可能なリンクに変換します。追加的な整数をこのフィルターに渡した場合、URLがその数値に短縮されます。2番目のパラメーターは、リンクをrel=“no follow”にするかどうかを指示するブール値です。最後のパラメーターでは、リンクを新しいタブで開くかどうかを指定できます。
パラメータータイプ説明
shorten_text数値URLを指定の数に短縮する整数。
no_followブール値trueに設定すると、リンクにrel="no follow"が含まれます。
target="_blank"文字列リンクを新しいタブで開くかどうかを指定します。
{{ "http://hubspot.com/"|urlize }}
{{ "http://hubspot.com/"|urlize(10,true) }}
{{ "http://hubspot.com/"|urlize("",true) }}
{{ "http://hubspot.com/"|urlize("",false,target="_blank") }}

wordcount

文字列内の単語数をカウントします。
HTMLが含まれている文字列の正確なカウントを取得する場合は、striptagsフィルターを使用します。
{%  set count_words = "Count the number of words in this variable"  %}
{{ count_words|wordcount }}

wordwrap

指定された文字数で折り返します。HubSpotではデフォルトで空白が除去されるため、この機能は<pre>で特に役立ちます。
{% set wrap_text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam efficitur, ipsum non sagittis euismod, ex risus rhoncus lectus, vel maximus leo enim sit amet dui. Ut laoreet ultricies quam at fermentum." %}
{{ wrap_text|wordwrap(10) }}
パラメーター説明
character_countコンテンツを折り返す文字数。

xmlattr

ディクショナリー内の項目に基づいてHTML/XML属性文字列を作成します。「値なし」および未定義値を除き、全ての値が自動的にエスケープされます。最初のパラメーターがfalseの場合以外は、フィルターから返された項目の前に自動的にスペースが追加されます。
{% set html_attributes = {"class": "bold", "id": "sidebar"} %}
<div {{ html_attributes|xmlattr }}></div>
パラメータータイプ説明
autospaceブール値項目の前にスペースを追加するには、trueに設定します。