Última modificação: 28 de agosto de 2025
Os filtros afetam a saída final do HubL. Eles podem ser aplicados a várias instruções e expressões do HubL para alterar a marcação do modelo emitido pelo servidor. A sintaxe básica de um filtro é |filtername. O filtro é adicionado diretamente após a instrução ou a expressão, dentro dos seus delimitadores. Alguns filtros têm parâmetros adicionais que podem ser adicionados entre parênteses. A sintaxe básica de um filtro com uma string, um número e um parâmetro booleano é: |filtername("stringParameter", 10, true). Observe que os parâmetros das strings devem ser escritos entre aspas. Observe também que os filtros do HubL têm alias que podem ser usados da mesma forma que o filtro principal. O artigo a seguir contém todos os filtros do HubL suportados.

Observação:

Você pode aplicar os filtros do HubL a tokens de personalização, como tokens de contato e da empresa, nas páginas do CMS e do blog do HubSpot, mas não nos e-mails.

abs

Calcula o valor absoluto de um número. Você pode usar essa Filtrar para garantir que um número seja positivo.
{% set my_number = -53 %}
{{ my_number|abs }}

add

Adiciona um valor numérico a outro valor numérico. Este filtro funciona da mesma forma que o operador +. O parâmetro entre parênteses é o adendo que você está combinando com o seu valor numérico inicial.
{% set my_num = 40 %}
{{ my_num|add(13) }}

attr

Renderiza o atributo de um dicionário. Este filtro é o equivalente a imprimir uma variável que existe dentro de um dicionário, tal como content.absolute_url.
{{ content|attr("absolute_url") }}
DescriçãoParâmetro
attribute_nameEspecifica qual o atributo imprimir

lote

Agrupa itens dentro de uma sequência. No exemplo abaixo, há uma variável contendo uma sequência de tipos de frutas. O filtro batch é aplicado a um loop que itera pela sequência. O loop agrupado é executado três vezes para imprimir três tipos de fruta por linha, antes de o loop externo ser executado novamente. Observe na saída final que existem apenas cinco tipos de fruta: o item final é substituído por   (o segundo parâmetro).
{% 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>
ParâmetroTipoDescrição
linecountNúmeroO número de itens a serem incluídos no lote.
fill_withStringEspecifica o que incluir para preencher quaisquer itens ausentes.

between_times

Calcula o tempo entre dois objetos de data e hora na unidade de tempo especificada.

Observação:

Você deve usar este filtro somente com variáveis que retornam uma data. A partir de 30 de setembro de 2024, este filtro não retornará mais a data atual quando um valor nulo for passado. Após essa data, um valor nulo no filtro retornará 30 de setembro de 2024.
{% 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") }}
ParâmetroTipoDescrição
endobjeto de data e horaO objeto de data e hora final.
timeunitStringAs unidades de tempo válidas são nanos, micros, millis, seconds, minutes, hours, half_days, days, weeks, months, years, decades, centuries, millennia, e eras.

bool

Converte um valor de string de texto em booleano.
{% if "true"|bool == true %}hello world{% endif %}

capitalizar

Coloca em maiúscula a primeira letra de um valor de variável. O primeiro caractere será maiúsculo, todas as outras letras serão minúsculas. As palavras subsequentes separadas por espaços ou hifens não terão a primeira letra em maiúscula.
{% set sentence = "the first letter of a sentence should always be capitalized." %}
{{ sentence|capitalize }}

centralizar

Centraliza o texto dentro de um determinado comprimento de campo usando espaços em branco. Este filtro não é recomendado nem particularmente útil, pois o compilador HTML do HubSpot removerá automaticamente os espaços em branco; no entanto, ele foi incluído aqui por uma questão de abrangência. O exemplo abaixo mostra esse filtro sendo aplicado a uma variável em uma tag pre, para que o espaço em branco não seja removido.
<pre>
{% set var = "string to center" %}
before{{ var|center(80) }}after
</pre>
ParâmetroTipoDescrição
widthNúmeroEspecifica o comprimento do espaço em branco para centralizar o texto.

convert_rgb

Converte um valor HEX para uma string RGB. É útil se você precisar converter variáveis de cor para RGB para usá-las com uma declaração CSS RGBA. No exemplo abaixo, o valor definido por um módulo de cor é convertido para um valor RGB e usado em uma declaração CSS RGBA.
{% set my_color = "#FFFFFF" %}
{{ my_color|convert_rgb }}
{% set my_color2="#000000" %}
<div style="background: rgba({{ my_color2|convert_rgb }}, .5)"></div>

cut

Remove uma string de um valor. Este filtro pode ser usado para combinar e cortar uma parte específica de uma string. O parâmetro especifica a parte da string que deve ser removida. O exemplo abaixo remove o espaço e a palavra “world” do valor da variável original.
{% set my_string = "Hello world." %}
{{ my_string|cut(" world") }}
ParâmetroTipoDescrição
characters_to_cutStringA parte da corda que deve ser removida.

datetimeformat (descontinuado)

Observação: este filtro foi descontinuado. Em vez disso, você deve usar o filtro format_datetime, que usa uma sintaxe mais padronizada.

default

Se o valor não estiver definido, retornará o primeiro parâmetro; caso contrário, o valor da variável será impresso. Se você quiser usar o padrão com variáveis que avaliam como falso, precisará definir o segundo parâmetro como trueverdadeiro. O primeiro exemplo abaixo imprimiria a mensagem se a variável não estivesse definida. O segundo exemplo aplica o filtro a uma string vazia, que não é indefinida, mas imprime uma mensagem devido ao segundo parâmetro.
{{ my_variable|default("my_variable is not defined") }}
{{ ""|default("the string was empty", true) }}
ParâmetroTipoDescrição
default_valueStringO valor a ser retornado se a variável for indefinida. Se a variável estiver definida, o valor da variável será retornado em seu lugar.
truthyBooleanoDefinir para true para usar com variáveis que avaliam false.

dictsort

Classifica um dicionário e produz pares (chave, valor). Os dicionários não são classificados por padrão, mas você pode imprimir um dicionário classificado por chave ou valor. O primeiro parâmetro é um booleano para determinar se a classificação diferencia ou não maiúsculas de minúsculas. O segundo parâmetro determina se o dicionário deve ser classificado por chave ou por valor. O exemplo abaixo imprime um dicionário de contatos classificado, com todos os detalhes conhecidos sobre o contato.
{% for item in contact|dictsort(false, "value") %}
{{item}}
{% endfor %}
ParâmetroTipoDescrição
case_sensitiveBooleanoDetermina se a classificação diferencia maiúsculas de minúsculas.
sort_by"key" | "value"Determina se deve classificar por key ou value.

difference

Retorna a diferença de dois conjuntos ou listas. A lista retornada pelo filtro contém todos os elementos únicos que estão na primeira lista, mas não na segunda.
{{ [1, 2, 3]|difference([2, 3, 4, 5]) }}
ParâmetroTipoDescrição
listMatrizA segunda lista para comparação e uso na busca de diferenças em relação à lista original.

divide

Divide o valor atual por um divisor. O parâmetro passado é o divisor. Este filtro é uma alternativa ao operador /.
{% set numerator = 106 %}
{{ numerator|divide(2) }}
ParâmetroTipoDescrição
divisorNúmeroO número pelo qual dividir a variável.

divisible

Uma alternativa para o teste de expressão divisibleby, este filtro será avaliado como verdadeiro se o valor for divisível pelo número fornecido.
{% set num = 10 %}
{% if num|divisible(2) %}
The number is divisible by 2
{% endif %}
ParâmetroTipoDescrição
divisorNúmeroO número a ser usado ao avaliar se o valor é divisível.

escape_html

Limpa o conteúdo de uma entrada HTML. Aceita uma string e converte os caracteres &, <, >, , e escape_jinjava em sequências seguras para HTML. Use esse filtro para variáveis HubL usadas em HTML, mas que não devem permitir nenhum HTML.
{% set escape_string = "<div>This markup is printed as text</div>" %}
{{ escape_string|escape_html }}

escape_attr

Limpa o conteúdo de uma entrada de atributo de HTML. Aceita uma string e converte os caracteres &, <, , e escape_jinjava em sequências seguras para HTML. Use esse filtro para variáveis HubL que estão sendo adicionadas aos atributos HTML. Observe que, ao limpar valores de atributos que aceitam URLs, como href, você deve usar o filtro escape_url.
{% set escape_string = "This <br> markup is printed as text" %}
<img src="test.com/imageurl" alt="{{escape_string|escape_attr}}">

escape_jinjava

Converte os caracteres { e } em strings para sequências seguras para Jinjava. Use este filtro se você precisar exibir texto que possa conter tais caracteres em Jinjava.
{% set escape_string = "{{This markup is printed as text}}" %}
{{ escape_string|escape_jinjava }}

escape_js

Limpa as strings, incluindo escape_jinjava, para que possam ser inseridas em segurança em uma declaração de variável JavaScript. Use esse filtro para variáveis HubL usadas dentro de elementos de script HTML.
{% set escape_string = "\tThey said 'This string can safely be inserted into JavaScript.'" %}
{{ escape_string|escape_js }}

escape_url

Escapa o conteúdo de uma entrada de URL, aplicando protocolos especificados, removendo caracteres inválidos e perigosos e codificando entidades HTML. Retorna em branco se um URL for válido. Use esse filtro para variáveis HubL usadas em atributos HTML que devem ser URLs válidos.
{% set escape_string = "http://example.com/with space/<html>" %}
<a href="https://br.developers.hubspot.com/docs{{ escape_string|escape_url }}"></a>

escapejson

Limpa as strings para que possam ser usadas como valores 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

Formata um valor numérico em um tamanho de arquivo legível por humanos (por exemplo, 13 kB, 4,1 MB, 102 bytes, etc.). Por padrão, prefixos decimais são usados (por exemplo, MB e GB), mas você pode definir o binary parâmetro para true usar prefixos binários como Mebi (MiB) e Gibi (GiB).
{% set bytes = 10000 %}
{{ bytes|filesizeformat(binary=true) }}
ParâmetroTipoDescrição
binaryBooleanoSe definido como true, prefixos binários são usados, como Mebi (MiB) e Gibi (GiB).

first

Retorna o primeiro item de uma sequência.
{% set my_sequence = ["Item 1", "Item 2", "Item 3"] %}
{{ my_sequence|first }}

float

Converte um valor em um número de ponto flutuante. Se a conversão não funcionar, ela retornará 0.0. Você pode substituir esse padrão usando o primeiro parâmetro.
{% set my_text="25" %}
{{ my_text|float + 17 }}
ParâmetroTipoDescrição
defaultNúmeroInteiro a ser retornado se a conversão não funcionar.

forceescape

Aplica rigorosamente o escape de HTML. No ambiente HubSpot, não há um caso de uso para escape duplo; isso geralmente se comporta da mesma forma que o filtro de escape.
{% set escape_string = "<div>This markup is printed as text</div>" %}
{{ escape_string|forceescape }}

format

Aplica formatação de string Python a um objeto. %s pode ser substituído por outra variável.
{{ "Hi %s %s"|format(contact.firstname, contact.lastname) }}

format_currency (descontinuado)

Observação: este filtro foi descontinuado. Em vez disso, use o filtro format_currency_value.

format_currency_value

Formata um determinado número como uma moeda com base na moeda padrão do portal e no local passado como parâmetro. Substitui o filtro format_currency descontinuado.
{{ 100 | format_currency_value(locale='en-GB', currency='EUR', maxDecimalDigits=6, minDecimalDigits=1) }}
ParâmetroTipoDescrição
localeStringA tag de idioma local Java. O padrão é a página locale.Format : ISO639LanguageCodeInLowercase-ISO3166CountryCodeInUppercase.
currencyStringo código ISO 4217 alfabético da moeda, o padrão é a moeda padrão dos portais. Códigos numéricos não são aceitos.
minDecimalDigitsNúmeroO número mínimo de dígitos decimais a serem incluídos na saída. O padrão é o número padrão de dígitos decimais da moeda.
maxDecimalDigitsNúmeroO número máximo de dígitos decimais a serem incluídos na saída. O padrão é o número padrão de dígitos decimais da moeda.

format_date

Formata o componente de data de um objeto de data.

Observação:

Você deve usar este filtro somente com variáveis que retornam uma data. A partir de 30 de setembro de 2024, este filtro não retornará mais a data atual quando um valor nulo for passado. Após essa data, um valor nulo no filtro retornará 30 de setembro de 2024.
{{ 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') }}
ParâmetroTipoDescrição
format'short' | 'medium' | 'long' | 'full' | padrão personalizadoO formato a ser usado. Pode ser um padrão personalizado seguindo Unicode LDML.
timeZoneStringO fuso horário da data de saída em Formato IANA TZDB.
localeStringO local a ser usado para formatos com reconhecimento de localidade. Consulte a lista de locales com suporte.

format_datetime

Formata os componentes de data e hora de um objeto de data. Este filtro substitui o filtro datetimeformat descontinuado. Por padrão, retorna uma data e hora no fuso horário UTC -00:00.

Observação:

Você deve usar este filtro somente com variáveis que retornam uma data. A partir de 30 de setembro de 2024, este filtro não retornará mais a data atual quando um valor nulo for passado. Após essa data, um valor nulo no filtro retornará 30 de setembro de 2024.
{{ content.publish_date | format_datetime('medium', 'America/New_York', 'de-DE') }}
ParâmetroTipoDescrição
format'short' | 'medium' | 'long' | 'full' | padrão personalizadoO formato a ser usado. Pode ser um padrão personalizado a seguir Unicode LDML. Ao usar long ou full, o registro de data e hora incluirá um Z para indicar o deslocamento zero do horário UTC (ou seja, 2:23:00 PM Z). Para remover o designador Z, especifique um timeZone.
timeZoneStringO fuso horário da data de saída em Formato IANA TZDB. Por padrão, retorna a hora UTC.
localeStringO local a ser usado para formatos com reconhecimento de localidade. Consulte a lista de locales com suporte.

format_number

Formata um determinado número com base em uma localidade especificada. Inclui um segundo parâmetro que define a precisão decimal máxima.
{{ 1000|format_number('en-US') }}
{{ 1000.333|format_number('fr') }}
{{ 1000.333|format_number('en-US', 2) }}
ParâmetroTipoDescrição
localeStringO locale a ser usado para formatação. Consulte a lista de locales com suporte.
maxDecimalDigitsNúmeroO número máximo de dígitos decimais a serem incluídos na saída. Por padrão, será usado o número de dígitos decimais do valor de entrada.

format_time

Formata o componente de hora de um objeto de data.

Observação:

Você deve usar este filtro somente com variáveis que retornam uma data. A partir de 30 de setembro de 2024, este filtro não retornará mais a data atual quando um valor nulo for passado. Após essa data, um valor nulo no filtro retornará 30 de setembro de 2024.
{{ content.updated | format_time('long') }}
{{ content.updated | format_time('hh:mm a') }}
{{ content.updated | format_time('medium', 'America/New_York', 'de-DE') }}
ParâmetroTipoDescrição
format'short' | 'medium' | 'long' | 'full' | padrão personalizadoO formato a ser usado. Pode ser um padrão personalizado a seguir Unicode LDML. Ao usar long ou full, o registro de data e hora incluirá um Z para indicar o deslocamento zero do horário UTC (ou seja, 2:23:00 PM Z). Para remover o designador Z, especifique um timeZone.
timeZoneStringO fuso horário da data de saída em Formato IANA TZDB. Por padrão, retorna a hora UTC.
localeStringO local a ser usado para formatos com reconhecimento de localidade. Consulte a lista de locales com suporte.

fromjson

Converte uma string JSON em um objeto.
{% set obj ='{ "name":"Brian","role":"Owner" }' %}
{{ obj|fromjson }}

geo_distance

Calcula a distância elipsoidal 2D entre dois pontos na Terra.
<!-- 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

Agrupa uma sequência de objetos por um atributo comum. O parâmetro define o atributo comum a ser agrupado.
<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>
ParâmetroDescrição
attributeO atributo pelo qual agrupar.

indent

Recua o texto dentro de um determinado comprimento de campo usando espaços em branco. Este filtro não é recomendado nem particularmente útil porque o compilador HTML do HubSpot removerá automaticamente os espaços em branco. No entanto, ele está incluído aqui por uma questão de abrangência. O exemplo abaixo mostra um filtro indent sendo aplicado a uma variável em uma tag <pre>, para que o espaço em branco não seja removido. O primeiro parâmetro controla a quantidade de espaços em branco e o segundo booleano alterna se a primeira linha deve ser recuada.
<pre>
{% set var = "string to indent" %}
{{ var|indent(2, true) }}
</pre>
ParâmetroTipoDescrição
widthNúmeroA quantidade de espaço em branco a ser aplicada.
indent-firstBooleanoQuando definido para true, a primeira linha será recuada.

int

Converte o valor em um inteiro. Se a conversão não funcionar, ela retornará 0. Você pode substituir esse padrão usando o primeiro parâmetro.
{% set string="25" %}
{{ string|int + 17 }}
ParâmetroTipoDescrição
defaultNúmeroInteiro a ser retornado se a conversão não funcionar.

intersect

Retorna a interseção de dois conjuntos ou listas. A lista retornada pelo filtro contém todos os elementos únicos que estão contidos em ambas as listas.
{{ [1, 2, 3]|intersect([2, 3, 4, 5]) }}
ParâmetroTipoDescrição
listVariedadeA segunda lista a ser comparada para uso na descoberta de onde a lista se cruza com a lista original.

ipaddr

Avalia para true se o valor for um endereço IPv4 ou IPv6 válido.
{% set ip = "1.0.0.1" %}
{% if ip|ipaddr %}
The string is a valid IP address
{% endif %}

join

Retorna uma string que é a concatenação das strings na sequência. O separador entre os elementos é uma string vazia por padrão. Você pode defini-la com o parâmetro opcional. O segundo parâmetro pode ser usado para especificar um atributo para unir.
{% set my_list = [1, 2, 3] %}
{% set sep = "---" %}
{{ my_list|join }}
{{ my_list|join("|") }}
{{ my_list|join(sep) }}
ParâmetroTipoDescrição
delimiterStringO delimitador a ser usado ao concatenar strings.
attributeVariável HubLAtributo de valor a ser unido em um objeto.

last

Retorna o último item de uma sequência.
{% set my_sequence = ["Item 1", "Item 2", "Item 3"] %}
{% my_sequence|last %}

length

Retorna o número de itens de uma sequência ou mapeamento.
{% set services = ["Web design", "SEO", "Inbound Marketing", "PPC"] %}
{{ services|length }}

list

Converte valores em uma lista. As strings serão retornadas como caracteres separados, a menos que estejam contidas em delimitadores de sequência de colchetes [ ].
{% 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

Calcula o logaritmo natural de um número.
{{ 10|log }}
{{ 65536|log(2) }}
ParâmetroTipoDescrição
baseNúmeroA base a ser usada para o cálculo do logaritmo.

lower

Converte todas as letras de um valor em minúsculas.
{% set text="Text to MAKE LowercaSe" %}
{{ text|lower }}

map

Aplica um filtro em uma sequência de objetos ou procura um atributo. Isso é útil ao lidar com uma lista de objetos em que você está interessado apenas em um determinado valor. Geralmente, é usado para mapear um atributo. Por exemplo, se você quiser usar a lógica condicional para verificar se um valor está presente em um determinado atributo de um dicionário. Como alternativa, você pode deixá-lo invocar um filtro, passando o nome do filtro e os argumentos depois.
{# 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")}}
ParâmetroTipoDescrição
filterStringFiltro a ser aplicado à sequência de objetos.

md5

Calcula o hash md5 do objeto fornecido.
{{ content.absolute_url|md5 }}

minus_time

Subtrai uma quantidade de tempo de um objeto datetime.
{% set date = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{{ date }}
{{ date|minus_time(2, "months") }}
ParâmetroTipoDescrição
diffNúmeroQuantidade a subtrair.
timeunitStringAs unidades de tempo válidas são nanos, micros, millis, seconds, minutes, hours, half_days, days, weeks, months, years, decades, centuries, millennia, e eras.

multiply

Multiplica um valor por um número. Funciona da mesma forma que o operador *.
{% set n = 20 %}
{{ n|multiply(3) }}

plus_time

Adiciona uma quantidade de tempo a um objeto de data/hora.
{% set date = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{{ date }}
{{ date|plus_time(5, "days") }}
ParâmetroTipoDescrição
diffNúmeroQuantidade a subtrair.
timeunitStringAs unidades de tempo válidas são nanos, micros, millis, seconds, minutes, hours, half_days, days, weeks, months, years, decades, centuries, millennia, e eras.

pprint

Imprime uma variável. Imprime o tipo de variável e outras informações úteis para a depuração.
{% set this_var ="Variable that I want to debug" %}
{{ this_var|pprint }}

random

Retorna um item aleatório da sequência.

Observação:

Ao usar este filtro, a página será pré-renderizada periodicamente, em vez de sempre que o conteúdo da página for atualizado. Isso significa que o conteúdo filtrado não será atualizado em cada recarga de página.Isso pode não ser um problema para certos tipos de conteúdo, como exibir uma lista aleatória de posts de blog. No entanto, se você precisar que o conteúdo seja alterado aleatoriamente em cada carregamento de página, use o JavaScript para randomizar o conteúdo do lado do cliente.
{% for content in contents|random %}
<div class="post-item">Post item markup</div>
{% endfor %}

regex_replace

Procura um padrão regex e o substitui por uma sequência de caracteres. O primeiro argumento é um padrão regex no estilo RE2; o segundo é a string de substituição. Saiba mais sobre Sintaxe regex RE2.
{{ "contact-us-2"|regex_replace("[^a-zA-Z]", "") }}

reject

Filtra uma sequência de objetos aplicando um teste de expressão ao objeto e rejeitando aqueles que passaram com sucesso no teste.
{% set some_numbers = [10, 12, 13, 3, 5, 17, 22] %}
{{ some_numbers|reject("even") }}
ParâmetroTipoDescrição
exp_textStringO nome do teste de expressão para aplicar ao objeto.

rejectattr

Filtra uma sequência de objetos aplicando um teste a um atributo de um objeto e rejeitando aqueles que passaram com sucesso no teste.
{% 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://br.developers.hubspot.com/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 %}
ParâmetroTipoDescrição
attribute_nameStringEspecifica o atributo a ser selecionado. Você pode acessar os atributos aninhados usando a notação de pontos.
exp_testStringO nome do teste de expressão para aplicar ao objeto.

render

Renderiza rapidamente as strings que contêm HubL para que a saída possa ser passada para outros filtros.
{{ personalization_token("contact.lastname", "default value")|render|lower }}

replace

Substitui todas as instâncias de uma substring por uma nova.
{% if topic %}
<h3>Posts about {{ page_meta.html_title|replace("Blog | ", "") }}</h3>
{% endif %}
ParâmetroTipoDescrição
oldStringA substring que deve ser substituída.
newStringCorda de substituição.
countNúmeroSe fornecido, apenas as ocorrências firstcount serão substituídas.

reverse

Inverte o objeto ou retorna um iterador que itera sobre ele no sentido inverso. Para reverter uma lista, use .reverse()
{% set nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] %}
{% for num in nums|reverse %}
{{ num }}
{% endfor %}

root

Calcula a raiz quadrada de um valor.
{{ 16|root }}
{{ 625|root(4) }}
ParâmetroTipoDescrição
nth_rootNúmeroA raiz n a ser usada para o cálculo.

round

Arredonda um número para uma precisão fornecida.
{{ 52.5|round }}
{{ 52.5|round(0, "floor") }}
ParâmetroTipoDescrição
precisionNúmeroEspecifica a precisão do arredondamento.
rounding_method'common' (padrão) | 'ceil' | 'floor'As opções incluem common arredondar para cima ou para baixo (padrão); ceil sempre arredonda para cima; floor sempre arredonda para baixo.

safe

Marque um valor como seguro, o que significa que, em um ambiente com escape automático habilitado, esta variável não sofrerá escape.
{{ content.post_list_content|safe }}

sanitize_html

Limpa o conteúdo de uma entrada HTML para a saída de conteúdo de rich text. Aceita uma string e, em seguida, remove as tags HTML que não são permitidas. Use esse filtro para variáveis HubL usadas em HTML que devem permitir HTML seguro. Você pode incluir os seguintes parâmetros para permitir tipos específicos de tags HTML: FORMATTING, BLOCKS, STYLES, LINKS, TABLES, IMAGES. Por exemplo, sanitize_html(IMAGES). Usar sanitize_html incluirá todos os parâmetros no filtro. Você também pode incluir um parâmetro STRIP para remover todo o HTML. Todo o conteúdo também é executado por escape_jinjava para evitar interpretações aninhadas.
{% 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

Filtra uma sequência de objetos, aplicando um teste aos objetos e selecionando apenas aqueles que passaram com sucesso no teste.
{% set some_numbers = [10, 12, 13, 3, 5, 17, 22] %}
{{ some_numbers|select("even") }}
ParâmetroTipoDescrição
exp_textStringO teste de expressão a ser aplicado ao objeto.

selectattr

Filtra uma sequência de objetos aplicando um teste a um atributo dos objetos e selecionando apenas aqueles cujo teste foi bem-sucedido.
{% 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://br.developers.hubspot.com/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 %}
ParâmetroTipoDescrição
attribute_nameobrigatórioO atributo a ser testado. Você pode acessar os atributos aninhados usando a notação de pontos.
exp_testStringO nome do teste de expressão para aplicar ao objeto.
valStringValor para testar.

shuffle

Randomiza a ordem de iteração por uma sequência. O exemplo abaixo randomiza um loop padrão do blog.

Observação:

Ao usar este filtro, a página será pré-renderizada periodicamente, em vez de sempre que o conteúdo da página for atualizado. Isso significa que o conteúdo filtrado não será atualizado em cada recarga de página.Isso pode não ser um problema para certos tipos de conteúdo, como exibir uma lista aleatória de posts de blog. No entanto, se você precisar que o conteúdo seja alterado aleatoriamente em cada carregamento de página, use o JavaScript para randomizar o conteúdo do lado do cliente.
{% for content in contents|shuffle %}
<div class="post-item">Markup of each post</div>
{% endfor %}

slice

Divide um iterador e retorna uma lista de listas que contêm esses itens. O primeiro parâmetro especifica quantos itens serão divididos, e o segundo parâmetro especifica os caracteres para preencher as divisões vazias.
{% 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>
ParâmetroTipoDescrição
slicesNúmeroQuantos itens serão fatiados.
fillerCordaEspecifica caracteres para preencher fatias vazias.

sort

Classifica um iterável. Este filtro requer todos os parâmetros para classificar por um atributo no HubSpot. O primeiro parâmetro é um booleano para inverter a ordem de classificação. O segundo parâmetro determina se a classificação diferencia ou não maiúsculas de minúsculas. E o parâmetro final especifica por qual atributo classificar. No exemplo abaixo, os posts de um blog foram renderizados e classificados em ordem alfabética por nome.
{% set my_posts = blog_recent_posts("default", limit=5) %}

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

{% endfor %}
ParâmetroTipoDescrição
reverseBooleanoDefinir para true para inverter a ordem de classificação.
case_sensitiveBooleanoDefinir para true para tornar a classificação sensível a maiúsculas e minúsculas.
attributeStringAtributo para classificar. Omita ao classificar uma lista.

split

Divide a string de entrada em uma lista em um determinado separador. O primeiro parâmetro especifica o separador pelo qual a variável deve ser dividida. O segundo parâmetro determina quantas vezes a variável deve ser dividida. Qualquer item restante permanece agrupado. No exemplo abaixo, uma string de nomes é dividida no ; para os quatro primeiros nomes.
{% 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>
ParâmetroTipoDescrição
character_to_split_byStringEspecifica o separador para dividir a variável.
number_of_splitsNúmeroDetermina quantas vezes a variável deve ser dividida. Qualquer item restante permanece agrupado.

string

Converte um tipo de variável diferente em uma string. No exemplo abaixo, um número inteiro é convertido em uma string (pprint é usado para confirmar a mudança no tipo de variável).
{% set number_to_string = 45 %}
{{ number_to_string|string|pprint }}

striptags

Remove tags SGML/XML e substitui espaços em branco adjacentes por um espaço. Este filtro pode ser usado para remover quaisquer tags HTML de uma variável.
{% set some_html = "<div><strong>Some text</strong></div>" %}
{{ some_html|striptags }}

strtodate

Converte uma sequência de data e um formato de data em um objeto de data.
{{ '3/3/21'|strtodate('M/d/yy') }}
ParâmetroTipoDescrição
dateFormatStringO formato de data para usar.

strtotime

Converte uma string e um formato de data/hora em um objeto de data/hora.
{{ "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ")|unixtimestamp }}
ParâmetroTipoDescrição
datetimeFormatStringO Formato de data e hora para usar.

sum

Soma valores numéricos em uma sequência. O primeiro parâmetro pode especificar um atributo opcional e o segundo parâmetro define o valor a retornar se não houver nada na variável a somar.
// 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") }}
ParâmetroTipoDescrição
attributeStrinAtributo para soma.
return_if_nothingStringValor a ser retornado se não houver nada na variável para somar.

symmetric_difference

Retorna a diferença simétrica de dois conjuntos ou listas. A lista retornada pelo filtro contém todos os elementos únicos que estão na primeira lista, mas não na segunda, ou que estão na segunda lista, mas não na primeira
{{ [1, 2, 3]|symmetric_difference([2, 3, 4, 5]) }}
ParâmetroTipoDescrição
listVariedadeA segunda lista para comparação e uso na busca da diferença simétrica com a lista original.

title

Retorna uma versão do valor em caixa alta (ou seja, as palavras começarão com letras maiúsculas, mas todos os caracteres restantes serão minúsculos).
{% set my_title="my title should be title case" %}
{{ my_title|title }}

tojson

Escreve um objeto como uma string JSON.
{% for content in contents %}
{{ content.blog_post_author|tojson }}
{% endfor %}

trim

Remove espaços em branco antes e depois. O HubSpot já remove os espaços em branco da marcação, mas este filtro está documentado por uma questão de abrangência.
{{ " remove whitespace " }}
{{ " remove whitespace "|trim }}

truncate

Corta o texto após um certo número de caracteres. O padrão é 255. Os caracteres HTML estão incluídos nesta contagem.
Observação: como esse filtro depende dos espaços entre as palavras para encurtar as strings, ele pode não funcionar como esperado para idiomas sem espaços entre caracteres, como japonês.
{{ "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, "..........") }}
ParâmetroTipoDescrição
number_of_charactersobrigatórioNúmero de caracteres permitido antes de truncar o texto. O padrão é 255.
breakwordBooleanoSe true, o filtro cortará o texto no comprimento. Se false, ele descartará a última palavra.
endStringSubstituir os caracteres finais padrão ’…’ após o truncamento.

truncatehtml

Trunca uma determinada string, respeitando a marcação html (ou seja, fecha adequadamente todas as tags aninhadas). Isso evita que uma tag permaneça aberta após o truncamento. Os caracteres HTML não são contabilizados no total de caracteres.
Observação: como esse filtro depende dos espaços entre as palavras para encurtar as strings, ele pode não funcionar como esperado para idiomas sem espaços entre caracteres, como japonês.
{% set html_text = "<p>I want to truncate this text without breaking my HTML<p>" %}
{{ html_text|truncatehtml(28, "..." , false) }}
ParâmetroTipoDescrição
number_of_charactersobrigatórioNúmero de caracteres permitido antes de truncar o texto. O padrão é 255.
endStringSubstituir os caracteres finais padrão ’…’ após o truncamento.
breakwordBooleanoValor booleano. Se true, o filtro cortará o texto no comprimento. Se false (padrão), descartará a última palavra. Se estiver usando apenas um dos parâmetros opcionais, use argumentos de palavra-chave, como truncatehtml(70, breakwords = false).

unescape_html

Converte texto com entidades codificadas em HTML para seus equivalentes em Unicode.
{% set escape_string = "me & you" %}
{{ escape_string|unescape_html }}

union

Retorna a união de dois conjuntos ou listas. A lista retornada do filtro contém todos os elementos exclusivos que estão em qualquer uma das listas.
{{ [1, 2, 3]|union([2, 3, 4, 5]) }}
ParâmetroTipoDescrição
listVariedadeA segunda lista a se unir à lista original.

unique

Extrai um conjunto exclusivo de uma sequência ou dicionário de objetos. Ao filtrar um dicionário, como uma lista de postagens retornadas por uma função, você pode especificar qual atributo é usado para desduplicar itens no dicionário.
{% set my_sequence = ["one", "one", "two", "three" ] %}
{{ my_sequence|unique }}
ParâmetroTipoDescrição
attrStringEspecifica o atributo que deve ser usado ao filtrar um valor de dicionário.

unixtimestamp

Converte um objeto datetime em um registro de data e hora Unix.

Observação:

Você deve usar este filtro somente com variáveis que retornam uma data. A partir de 30 de setembro de 2024, este filtro não retornará mais a data atual quando um valor nulo for passado. Após essa data, um valor nulo no filtro retornará September 30, 2024.
{{ local_dt }}
{{ local_dt|unixtimestamp }}

upper

Converte todas as letras de um valor em maiúsculas.
{% set text="text to make uppercase" %}
{{ text|upper }}

urlencode

Escapes e URL codificam uma string usando a formatação UTF-8. Aceita dicionários e strings regulares, bem como iteráveis em pares.
{% set encode_value="Escape & URL encode this string" %}
{{ encode_value|urlencode }}

urldecode

Decodifica as strings de URL codificadas para a URL original. Aceita dicionários e strings regulares, bem como iteráveis em pares.
{% set decode_value="Escape+%26+URL+decode+this+string" %}
{{ decode_value|urldecode }}

urlize

Converte URLs de texto simples em links clicáveis. Se você passar um número inteiro adicional para o filtro, ele encurtará as urls para esse número. O segundo parâmetro é um booleano que determina se o link é rel=“no follow”. O parâmetro final permite especificar se o link será aberto em uma nova aba.
ParâmetroTipoDescrição
shorten_textNúmeroInteiro que encurtará as URLs para o número desejado.
no_followBooleanoQuando definido para true, o link incluirá rel="no follow".
target="_blank"StringEspecifica se o link será aberto em uma nova aba.
{{ "http://hubspot.com/"|urlize }}
{{ "http://hubspot.com/"|urlize(10,true) }}
{{ "http://hubspot.com/"|urlize("",true) }}
{{ "http://hubspot.com/"|urlize("",false,target="_blank") }}

wordcount

Conta o número de palavras em uma string.
Se a string contiver HTML, use o striptags filtre para obter uma contagem precisa.
{%  set count_words = "Count the number of words in this variable"  %}
{{ count_words|wordcount }}

wordwrap

Insere uma quebra nas palavras após um determinado número de caracteres. Funciona melhor em um <pre> porque o HubSpot remove os espaços em branco por padrão.
{% 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) }}
DescriçãoParâmetro
character_countNúmero de caracteres para encapsular o conteúdo.

xmlattr

Cria uma string de atributo HTML/XML, com base nos itens em um dicionário. Todos os valores que não são none nem undefined são escapados automaticamente. Se o filtro retornar algo, adiciona automaticamente um espaço na frente do item, a menos que o primeiro parâmetro seja falso.
{% set html_attributes = {"class": "bold", "id": "sidebar"} %}
<div {{ html_attributes|xmlattr }}></div>
ParâmetroTipoDescrição
autospaceBooleanoDefinir para true para adicionar um espaço na frente do item.