Última modificación: 28 de agosto de 2025
Los filtros modifican la información de salida de tu HubL y pueden aplicarse a diversas instrucciones y expresiones para ajustar el marcador de plantilla que emite el servidor. La sintaxis básica de un filtro es |filtername y se agrega directamente después de la instrucción o de la expresión, dentro de sus delimitadores. Algunos filtros tienen parámetros adicionales que se pueden agregar entre paréntesis. La sintaxis básica de un filtro con un parámetro de cadena, un número y un booleano es: |filtername("stringParameter", 10, true). Recuerda que los parámetros de cadena deben ir entre comillas. También, hay que tener en cuenta que los filtros de HubL pueden tener un alias que sirve para el mismo propósito que el filtro principal. Este artículo incluye todos los filtros compatibles de HubL.

Nota:

Puedes aplicar filtros de HubL a los tokens de personalización, como tokens de contacto y de empresa, en las páginas del CMS de HubSpot y blogs, pero no en los correos electrónicos.

abs

Obtiene el valor absoluto de un número. Puedes usar este filtro para garantizar que un número sea positivo.
{% set my_number = -53 %}
{{ my_number|abs }}

add

Agrega un valor numérico a otro. Este filtro funciona igual que el operador +. El parámetro entre paréntesis es el sumando que se combina con el valor numérico inicial.
{% set my_num = 40 %}
{{ my_num|add(13) }}

attr

Renderiza el atributo de un diccionario. Este filtro equivale a imprimir una variable existente dentro de un diccionario, como content.absolute_url.
{{ content|attr("absolute_url") }}
ParámetroDescripción
attribute_nameEspecifica el atributo a imprimir

batch

Agrupa los elementos dentro de una secuencia. En el siguiente ejemplo, hay una variable que contiene una secuencia de tipos de frutas. El filtro batch se aplica a un bucle que itera a través de la secuencia. El bucle anidado se ejecuta tres veces para imprimir 3 tipos de fruta por fila, antes de que el bucle exterior se ejecute de nuevo. Observa en el resultado final que, como solo hay cinco tipos de fruta, el último elemento se sustituye por un   (el 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ámetroTipoDescripción
linecountNuméricoEl número de elementos a incluir en el lote.
fill_withCadenaEspecifica lo que hay que incluir para completar los elementos que faltan.

between_times

Calcula el tiempo entre dos objetos de tipo fecha y hora en una unidad de tiempo específica.

Nota:

Este filtro debe usarse únicamente con variables que devuelvan una fecha. A partir del 30 de septiembre de 2024, este filtro ya no devolverá la fecha actual cuando se pase un valor nulo. Después de esa fecha, un valor nulo en el filtro devolverá el 30 de septiembre 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ámetroTipoDescripción
endobjeto fecha y horaEl objeto fecha y hora final.
timeunitCadenaLas unidades de tiempo válidas son nanos , micros , millis , seconds , minutes , hours , half_days , days , weeks , months , years , decades , centuries , millennia y eras .

bool

Convierte un valor de cadena de texto en un booleano.
{% if "true"|bool == true %}hello world{% endif %}

capitalize

Escribe en mayúsculas la primera letra de un valor variable. El primer carácter estará en mayúscula, mientras que las demás letras estarán en minúscula. Las siguientes palabras, ya sea separadas por espacios o guiones, no tendrán la primera letra en mayúscula.
{% set sentence = "the first letter of a sentence should always be capitalized." %}
{{ sentence|capitalize }}

center

Centra el texto dentro de una longitud de campo determinada utilizando espacios en blanco. Este filtro no es especialmente útil ni recomendable, ya que el compilador HTML de HubSpot elimina los espacios en blanco de forma automática. No obstante, se incluye aquí para brindar una descripción completa. El siguiente ejemplo muestra este filtro aplicado a una variable dentro de una etiqueta pre-Tag, de modo que los espacios en blanco no se eliminan.
<pre>
{% set var = "string to center" %}
before{{ var|center(80) }}after
</pre>
ParámetroTipoDescripción
widthNuméricoEspecifica la longitud del espacio en blanco para centrar el texto.

convert_rgb

Convierte un valor HEX en una cadena RGB. Este filtro es útil si necesitas convertir las variables de color a RGB para utilizarlas con una declaración CSS RGBA. En el siguiente ejemplo, el valor establecido por un módulo de color se convierte en un valor RGB y se utiliza en una declaración 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

Elimina una cadena de un valor. Este filtro se puede utilizar para hacer coincidir y cortar una parte de una cadena. El parámetro especifica la parte de la cadena que debe ser eliminada. En el ejemplo a continuación, se elimina el espacio y la palabra “world” del valor original de la variable.
{% set my_string = "Hello world." %}
{{ my_string|cut(" world") }}
ParámetroTipoDescripción
characters_to_cutCadenaLa parte de la cadena que debe ser eliminada.

datetimeformat (obsoleto)

Nota: este filtro está obsoleto. En su lugar, usa el filtro format_datetime, que tiene una sintaxis más estandarizada.

default

Si el valor no está definido, se devolverá el primer parámetro; de lo contrario, se mostrará el valor de la variable. Si quieres usar “default” con variables que se evalúan como falsas, tienes que poner el segundo parámetro como true. El primer ejemplo de abajo mostrará el mensaje si la variable no está definida. El segundo ejemplo utilizó el filtro en una cadena vacía, que no está definida, pero muestra un mensaje debido al segundo parámetro.
{{ my_variable|default("my_variable is not defined") }}
{{ ""|default("the string was empty", true) }}
ParámetroTipoDescripción
default_valueCadenaEl valor que se devolverá si la variable no está definida. Si la variable está definida, se devolverá el valor de la variable.
truthyBooleanocon el valor true para usar con variables que se evalúan como false.

dictsort

Ordena un diccionario y produce pares de clave y valor. Los diccionarios no tienen un orden predeterminado, pero puedes organizarlos por clave o por valor. El primer parámetro es un valor booleano para determinar si la regla de ordenamiento distingue entre mayúsculas y minúsculas. El segundo parámetro determina si ordenar el diccionario por clave o por valor. El siguiente ejemplo muestra un diccionario de contactos ordenado, incluyendo todos los detalles del contacto.
{% for item in contact|dictsort(false, "value") %}
{{item}}
{% endfor %}
ParámetroTipoDescripción
case_sensitiveBooleanoDetermina si las reglas de ordenación distinguen entre mayúsculas y minúsculas.
sort_by"key" | "value"Determina si ordenar por key o value.

difference

Este filtro devuelve las diferencias entre dos conjuntos o listas. La lista que el filtro devuelve contiene todos los elementos únicos que están en la primera lista pero no en la segunda.
{{ [1, 2, 3]|difference([2, 3, 4, 5]) }}
ParámetroTipoDescripción
listMatrizLa segunda lista con la que se pueden comparar los valores para encontrar las diferencias con la lista original.

divide

Divide el valor actual por un divisor. El parámetro que se pasa es el divisor. Este filtro es una alternativa al operador /.
{% set numerator = 106 %}
{{ numerator|divide(2) }}
ParámetroTipoDescripción
divisorNuméricoEl número por el que hay que dividir la variable.

divisible

Es una alternativa a la prueba de la expresión divisibleby. El filtro divisible se devolverá como ‘true’ si el valor es divisible por el número especificado.
{% set num = 10 %}
{% if num|divisible(2) %}
The number is divisible by 2
{% endif %}
ParámetroTipoDescripción
divisorNuméricoEl número que se va a utilizar cuando se evalúa si el valor es divisible.

escape_html

Sustituye el contenido de una entrada HTML. Acepta una cadena y convierte los caracteres &, <, >, , y escape_jinjava en secuencias seguras para HTML. Usa este filtro para las variables de HubL que se emplean en HTML pero no deben admitir código HTML.
{% set escape_string = "<div>This markup is printed as text</div>" %}
{{ escape_string|escape_html }}

escape_attr

Sustituye el contenido de una entrada de atributo HTML. Acepta una cadena y convierte los caracteres &, <, , y escape_jinjava en secuencias seguras para HTML. Utiliza este filtro para las variables HubL que se agregan a los atributos HTML. Ten en cuenta que cuando sustituyas valores de atributos que acepten URLs, como href, deberías usar el 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

Convierte los caracteres { y } en cadenas a secuencias seguras para Jinjava. Utiliza este filtro si necesitas mostrar un texto que pueda contener dichos caracteres en Jinjava.
{% set escape_string = "{{This markup is printed as text}}" %}
{{ escape_string|escape_jinjava }}

escape_js

Sustituye cadenas, incluyendo escape_jinjava, para que puedan ser insertadas con seguridad en una declaración de variable en JavaScript. Utiliza este filtro para las variables HubL que se usan dentro de los elementos del script HTML.
{% set escape_string = "\tThey said 'This string can safely be inserted into JavaScript.'" %}
{{ escape_string|escape_js }}

escape_url

Sustituye el contenido de una URL, aplicando protocolos específicos, eliminando caracteres no válidos o peligrosos y codificando entidades HTML. Devuelve una respuesta vacía si una URL es válida. Utiliza este filtro para las variables HubL que se usan dentro de los atributos HTML y que deben ser URLs válidas.
{% set escape_string = "http://example.com/with space/<html>" %}
<a href="https://developers.hubspot.es/docs{{ escape_string|escape_url }}"></a>

escapejson

Sustituye cadenas para que puedan ser utilizadas como valores en 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

Convierte un valor numérico en un tamaño de archivo legible (por ejemplo, 13 kB, 4,1 MB, 102 Bytes, etc.). De forma predeterminada, se utilizan prefijos decimales (por ejemplo, MB y GB), pero se pueden ajustar del parámetro binary a true para utilizar prefijos binarios como mebibyte (MiB) y gibibyte (GiB).
{% set bytes = 10000 %}
{{ bytes|filesizeformat(binary=true) }}
ParámetroTipoDescripción
binaryBooleanoSi se establece como true, se utilizan los prefijos binarios, como mebibyte (MiB) y gibibyte (GiB).

first

Devuelve el primer elemento de una secuencia.
{% set my_sequence = ["Item 1", "Item 2", "Item 3"] %}
{{ my_sequence|first }}

float

Convierte un valor en un número de punto flotante. Si la conversión no funciona, devolverá 0.0. Puedes anular este valor predeterminado utilizando el primer parámetro.
{% set my_text="25" %}
{{ my_text|float + 17 }}
ParámetroTipoDescripción
defaultNúmeroEntero a devolver si la conversión no funciona.

forceescape

Aplica estrictamente el escape HTML. En el entorno de HubSpot no hay realmente un caso de uso para el doble escape, por lo que esto se comporta generalmente igual que el filtro de escape.
{% set escape_string = "<div>This markup is printed as text</div>" %}
{{ escape_string|forceescape }}

format

Aplica el formato de cadena de Python a un objeto. El valor %s se puede sustituir con otra variable.
{{ "Hi %s %s"|format(contact.firstname, contact.lastname) }}

format_currency (obsoleto)

Nota: este filtro está obsoleto. En su lugar, utiliza el filtro format_currency_value.

format_currency_value

Da formato a un número como divisa, utilizando la divisa predeterminada del portal y la configuración regional especificada como parámetro. Reemplaza el filtro obsoleto format_currency.
{{ 100 | format_currency_value(locale='en-GB', currency='EUR', maxDecimalDigits=6, minDecimalDigits=1) }}
ParámetroTipoDescripción
localeCadenaLa etiqueta de lenguaje local de Java. El valor predeterminado es la página locale.Format : ISO639LanguageCodeInLowercase-ISO3166CountryCodeInUppercase.
currencyCadenaEl código ISO 4217 en orden alfabético de la divisa, por opción predeterminada, es la divisa predeterminada del portal. No se aceptan códigos numéricos.
minDecimalDigitsNúmeroEl mínimo de dígitos decimales que se pueden utilizar. De manera predeterminada, utiliza el número de decimales estándar de la moneda.
maxDecimalDigitsNúmeroEl máximo de dígitos decimales que se pueden utilizar. De manera predeterminada, utiliza el número de decimales estándar de la moneda.

format_date

Le da formato al componente de fecha de un objeto fecha.

Nota:

Este filtro debe usarse únicamente con variables que devuelvan una fecha. A partir del 30 de septiembre de 2024, este filtro ya no devolverá la fecha actual cuando se pase un valor nulo. Después de esa fecha, un valor nulo en el filtro devolverá el 30 de septiembre 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ámetroTipoDescripción
format'short' | 'medium' | 'long' | 'full' | patrón personalizadoEl formato a utilizar. Un patrón personalizado que se basa en el Unicode LDML.
timeZoneCadenaLa zona horaria de la fecha de salida en el formato IANA TZDB.
localeCadenaLa configuración regional a utilizar para formatos adaptados al idioma y región. Consulta la lista de configuraciones regionales compatibles.

format_datetime

Da formato a los componentes de fecha y hora de un objeto fecha. El filtro reemplaza el filtro obsoleto datetimeformat. De manera predeterminada, devuelve una fecha y hora en la zona horaria UTC-0.

Nota:

Este filtro debe usarse únicamente con variables que devuelvan una fecha. A partir del 30 de septiembre de 2024, este filtro ya no devolverá la fecha actual cuando se pase un valor nulo. Después de esa fecha, un valor nulo en el filtro devolverá el 30 de septiembre de 2024.
{{ content.publish_date | format_datetime('medium', 'America/New_York', 'de-DE') }}
ParámetroTipoDescripción
format'short' | 'medium' | 'long' | 'full' | patrón personalizadoEl formato a utilizar. Puede ser uno de los siguientes Unicode LDML. Cuando se utiliza long o full, la marca de tiempo incluirá una Z para indicar la hora UTC de desplazamiento cero (por ejemplo, 2:23:00 PM Z). Para eliminar el designador Z, tienes que especificar un timeZone.
timeZoneCadenaLa zona horaria de la fecha de salida en el formato IANA TZDB. De forma predeterminada, devuelve la hora UTC.
localeCadenaLa configuración regional a utilizar para formatos adaptados al idioma y región. Consulta la lista de configuraciones regionales compatibles.

format_number

Le da formato a un número según la configuración regional específica. Incluye un segundo parámetro para ajustar la precisión decimal máxima.
{{ 1000|format_number('en-US') }}
{{ 1000.333|format_number('fr') }}
{{ 1000.333|format_number('en-US', 2) }}
ParámetroTipoDescripción
localeCadenaLa configuración regional que se utilizará para el formato. Consulta la lista de configuraciones regionales compatibles.
maxDecimalDigitsNúmeroEl máximo de dígitos decimales que se pueden utilizar. De forma predeterminada, utilizará el número de dígitos decimales del valor introducido.

format_time

Le da formato al componente de fecha de un objeto fecha.

Nota:

Este filtro debe usarse únicamente con variables que devuelvan una fecha. A partir del 30 de septiembre de 2024, este filtro ya no devolverá la fecha actual cuando se pase un valor nulo. Después de esa fecha, un valor nulo en el filtro devolverá el 30 de septiembre 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ámetroTipoDescripción
format'short' | 'medium' | 'long' | 'full' | patrón personalizadoEl formato a utilizar. Puede ser uno de los siguientes Unicode LDML. Cuando se utiliza long o full, la marca de tiempo incluirá una Z para indicar la hora UTC de desplazamiento cero (por ejemplo, 2:23:00 PM Z). Para eliminar el designador Z, tienes que especificar un timeZone.
timeZoneCadenaLa zona horaria de la fecha de salida en el formato IANA TZDB. De forma predeterminada, devuelve la hora UTC.
localeCadenaLa configuración regional a utilizar para formatos adaptados al idioma y región. Consulta la lista de configuraciones regionales compatibles.

fromjson

Convierte una cadena JSON en un objeto.
{% set obj ='{ "name":"Brian","role":"Owner" }' %}
{{ obj|fromjson }}

geo_distance

Calcula la distancia elipsoidal en 2D entre dos puntos de la Tierra.
<!-- 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

El filtro groupby agrupa una secuencia de objetos por un atributo en común. El parámetro define el atributo común por el cual agrupar.
<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ámetroDescripción
attributeEl atributo por el que se va a agrupar.

indent

Indenta el texto dentro de una longitud utilizando espacios en blanco. Este filtro no es especialmente útil ni recomendable, ya que el compilador HTML de HubSpot elimina los espacios en blanco de forma automática. Sin embargo, se menciona aquí para ofrecer una descripción completa. El siguiente ejemplo muestra el filtro indent aplicado a una variable dentro de una etiqueta <pre>, de modo que los espacios en blanco no se eliminen. El primer parámetro controla la cantidad de espacios en blanco y el segundo booleano cambia la sangría de la primera línea.
<pre>
{% set var = "string to indent" %}
{{ var|indent(2, true) }}
</pre>
ParámetroTipoDescripción
widthNuméricoLa cantidad de espacios en blanco que se aplicarán.
indent-firstBooleanoSi se establece como true, se indenta la primera línea.

int

Convierte el valor en un entero. Si la conversión no funciona, devolverá 0. Puedes anular este valor predeterminado utilizando el primer parámetro.
{% set string="25" %}
{{ string|int + 17 }}
ParámetroTipoDescripción
defaultNuméricoEntero a devolver si la conversión no funciona.

intersect

Este filtro devuelve la intersección de dos conjuntos o listas. La lista que el filtro devuelve contiene todos los elementos únicos que están contenidos en ambas listas.
{{ [1, 2, 3]|intersect([2, 3, 4, 5]) }}
ParámetroTipoDescripción
listMatrizLa segunda lista con la que se comparará la lista original para encontrar su intersección.

ipaddr

Se evalúa como true si el valor es una dirección IPv4 o IPv6 válida.
{% set ip = "1.0.0.1" %}
{% if ip|ipaddr %}
The string is a valid IP address
{% endif %}

join

Devuelve una cadena que es la concatenación de las cadenas de la secuencia. El separador entre elementos es una cadena vacía por opción predeterminada, puedes definirlo con un parámetro opcional. El segundo parámetro puede utilizarse para especificar un atributo a unir.
{% set my_list = [1, 2, 3] %}
{% set sep = "---" %}
{{ my_list|join }}
{{ my_list|join("|") }}
{{ my_list|join(sep) }}
ParámetroTipoDescripción
delimiterCadenaEl delimitador a utilizar al concatenar cadenas.
attributeVariable de HubLAtributo de valor para unir en un objeto.

last

Devuelve el último elemento de una secuencia.
{% set my_sequence = ["Item 1", "Item 2", "Item 3"] %}
{% my_sequence|last %}

length

Devuelve el número de elementos de una secuencia o estructura de datos.
{% set services = ["Web design", "SEO", "Inbound Marketing", "PPC"] %}
{{ services|length }}

list

Convierte los valores en una lista. Las cadenas se devolverán como caracteres separados a menos que estén contenidas en delimitadores de secuencia de corchetes [ ].
{% 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 el logaritmo natural de un número.
{{ 10|log }}
{{ 65536|log(2) }}
ParámetroTipoDescripción
baseNúmeroLa base a utilizar para el cálculo logarítmico.

lower

Convierte todas las letras de un valor a minúsculas.
{% set text="Text to MAKE LowercaSe" %}
{{ text|lower }}

map

Aplica un filtro a una secuencia de objetos o busca un atributo. Este filtro es especialmente útil cuando trabajas con listas de objetos y solo necesitas obtener un valor en particular. El uso básico es la asignación en un atributo. Por ejemplo, si deseas utilizar la lógica condicional para comprobar si un valor está presente en un atributo particular de un dicc. Como alternativa, puedes permitir que aplique un filtro pasando el nombre del filtro seguido de los argumentos.
{# 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ámetroTipoDescripción
filterFiltro a aplicar a la secuencia de objetos.

md5

Calcula el hash md5 del objeto dado.
{{ content.absolute_url|md5 }}

minus_time

Resta una cantidad de tiempo a un objeto de fecha y hora.
{% set date = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{{ date }}
{{ date|minus_time(2, "months") }}
ParámetroTipoDescripción
diffNuméricoCantidad a restar.
timeunitCadenaLas unidades de tiempo válidas son nanos , micros , millis , seconds , minutes , hours , half_days , days , weeks , months , years , decades , centuries , millennia y eras .

multiply

Multiplica un valor por un número. Funciona igual que el \ operador *.
{% set n = 20 %}
{{ n|multiply(3) }}

plus_time

Agrega una cantidad de tiempo a un objeto de fecha y hora.
{% set date = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{{ date }}
{{ date|plus_time(5, "days") }}
ParámetroTipoDescripción
diffNuméricoCantidad a restar.
timeunitCadenaLas unidades de tiempo válidas son nanos , micros , millis , seconds , minutes , hours , half_days , days , weeks , months , years , decades , centuries , millennia y eras .

pprint

Muestra una variable con formato legible. Muestra el tipo de variable y otra información útil para la depuración.
{% set this_var ="Variable that I want to debug" %}
{{ this_var|pprint }}

random

Devuelve un elemento aleatorio de la secuencia.

Nota:

Cuando uses este filtro, la página se prerrenderizará periódicamente en lugar de cada vez que se actualice el contenido de la página. Esto significa que el contenido filtrado no se actualizará cada vez que se cargue la página de nuevo.Esto puede no ser un problema para ciertos tipos de contenido, como mostrar una lista aleatoria de publicaciones de blog. Sin embargo, si necesitas que el contenido cambie al azar cada vez que se carga una página, deberías usar JavaScript para mostrar de forma aleatoria el contenido del lado del cliente.
{% for content in contents|random %}
<div class="post-item">Post item markup</div>
{% endfor %}

regex_replace

Busca un patrón de expresión regular y lo sustituye por una secuencia de caracteres. El primer argumento es un patrón de expresión regular estilo RE2, el segundo es la cadena de sustitución. Más información sobre la sintaxis regex RE2.
{{ "contact-us-2"|regex_replace("[^a-zA-Z]", "") }}

reject

Filtra una secuencia de objetos aplicando una prueba de expresión al objeto y rechazando los que tienen éxito en la prueba.
{% set some_numbers = [10, 12, 13, 3, 5, 17, 22] %}
{{ some_numbers|reject("even") }}
ParámetroTipoDescripción
exp_textCadenaEl nombre de la prueba de expresión que se aplicará al objeto.

rejectattr

Filtra una secuencia de objetos aplicando una prueba a un atributo de un objeto y rechazando los que tienen éxito en la prueba.
{% 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.es/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ámetroTipoDescripción
attribute_nameCadenaEspecifica el atributo a seleccionar. Puedes acceder a los atributos anidados utilizando la notación de puntos.
exp_testCadenael nombre de la prueba de expresión que se aplicará al objeto.

render

Procesa cadenas que contienen HubL de manera anticipada para que el resultado pueda pasarse a otros filtros.
{{ personalization_token("contact.lastname", "default value")|render|lower }}

replace

Reemplaza todas las instancias de una subcadena por una nueva.
{% if topic %}
<h3>Posts about {{ page_meta.html_title|replace("Blog | ", "") }}</h3>
{% endif %}
ParámetroTipoDescripción
oldCadenaLa subcadena que se debe reemplazar.
newCadenaLa subcadena que será reemplazada.
countNúmeroSi se proporciona, solo se reemplazan las primeras ocurrencias.

reverse

Revierte el objeto o devuelve un iterador que recorre el objeto en sentido inverso. Para invertir una lista utiliza .reverse()
{% set nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] %}
{% for num in nums|reverse %}
{{ num }}
{% endfor %}

root

Extrae la raíz cuadrada de un valor.
{{ 16|root }}
{{ 625|root(4) }}
ParámetroTipoDescripción
nth_rootNúmeroLa raíz enésima a utilizar para el cálculo.

round

Redondea un número con la precisión especificada.
{{ 52.5|round }}
{{ 52.5|round(0, "floor") }}
ParámetroTipoDescripción
precisionNúmeroEspecifica la precisión del redondeo.
rounding_method'common' (predeterminado) | 'ceil' | 'floor'las opciones incluyen common redondea hacia arriba o hacia abajo (predeterminado); ceil siempre redondea hacia arriba; floor siempre redondea hacia abajo.

safe

Marca el valor como seguro, lo que evita que se escape en entornos con escape automático activado.
{{ content.post_list_content|safe }}

sanitize_html

Depura el contenido de una entrada HTML para la salida de contenido de texto enriquecido. Acepta una cadena y luego elimina las etiquetas HTML que no están permitidas. Utiliza este filtro para las variables HubL que se usan en HTML y que deberían permitir un HTML seguro. Puedes incluir los siguientes parámetros para permitir los específicos tipos de etiquetas HTML: FORMATTING, BLOCKS, STYLES, LINKS, TABLES, IMAGES. Por ejemplo, sanitize_html(IMAGES). El uso de sanitize_html incluirá todos los parámetros en el filtro. También puedes incluir un parámetro STRIP para eliminar todo el HTML. Todo el contenido también se ejecuta mediante escape_jinjava para evitar la interpretación anidada.
{% 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 una secuencia de objetos aplicando una prueba al objeto y seleccionando solo los que tienen éxito en la prueba.
{% set some_numbers = [10, 12, 13, 3, 5, 17, 22] %}
{{ some_numbers|select("even") }}
ParámetroTipoDescripción
exp_textCadenaLa prueba de expresión que se aplicará al objeto.

selectattr

Filtra una secuencia de objetos aplicando una prueba a un atributo de un objeto y seleccionando solo los que tienen éxito en la prueba.
{% 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.es/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ámetroTipoDescripción
attribute_nameCadenaEl atributo que debe ponerse a prueba. Puedes acceder a los atributos anidados utilizando la notación de puntos.
exp_testCadenael nombre de la prueba de expresión que se aplicará al objeto.
valCadenaValor a comprobar.

shuffle

Organiza de forma aleatoria el orden de iteración a través de una secuencia. El siguiente ejemplo mezcla un bucle de blog estándar.

Nota:

Cuando uses este filtro, la página se prerrenderizará periódicamente en lugar de cada vez que se actualice el contenido de la página. Esto significa que el contenido filtrado no se actualizará cada vez que se cargue la página de nuevo.Esto puede no ser un problema para ciertos tipos de contenido, como mostrar una lista aleatoria de publicaciones de blog. Sin embargo, si necesitas que el contenido cambie al azar cada vez que se carga una página, deberías usar JavaScript para mostrar de forma aleatoria el contenido del lado del cliente.
{% for content in contents|shuffle %}
<div class="post-item">Markup of each post</div>
{% endfor %}

slice

Corta un iterador y devuelve una lista de listas que contienen esos elementos. El primer parámetro especifica cuántos elementos serán cortados y el segundo parámetro especifica los caracteres para rellenar los cortes vacíos.
{% 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ámetroTipoDescripción
slicesNuméricoCuántos artículos se cortarán.
fillerCadenaEspecifica los caracteres para rellenar los cortes vacíos.

sort

Ordena un iterable. Este filtro requiere que todos los parámetros se ordenen por un atributo en HubSpot. El primer parámetro es un booleano para invertir el orden de clasificación y el segundo parámetro determina si el orden distingue entre mayúsculas y minúsculas. El último parámetro especifica un atributo por el que ordenar. En el siguiente ejemplo, las entradas de un blog se representan y se ordenan alfabéticamente por nombre.
{% set my_posts = blog_recent_posts("default", limit=5) %}

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

{% endfor %}
ParámetroTipoDescripción
reverseBooleanoEstablécelo como true para invertir el orden de clasificación.
case_sensitiveBooleanoEstablécelo como true para que el orden distinga entre mayúsculas y minúsculas.
attributeCadenaAtributo por el que ordenar. Puedes omitirlo al ordenar una lista.

split

Divide la cadena de entrada en una lista usando el separador indicado. El primer parámetro especifica el separador entre el que se divide la variable y el segundo parámetro determina cuántas veces debe dividirse la variable. El resto de los artículos permanecerán en el grupo. En el siguiente ejemplo, una cadena de nombres se divide en el ; para los primeros cuatro nombres.
{% 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ámetroTipoDescripción
character_to_split_byCadenaEspecifica el separador entre el que se divide la variable.
number_of_splitsNúmeroDetermina cuántas veces debe dividirse la variable. Los elementos restantes permanecerán agrupados.

string

Convierte un tipo de variable diferente en una cadena. En el siguiente ejemplo, un número entero se convierte en una cadena (se utiliza pprint para confirmar el cambio de tipo de la variable).
{% set number_to_string = 45 %}
{{ number_to_string|string|pprint }}

striptags

Elimina las etiquetas SGML y XML, y reemplaza los espacios en blanco adyacentes por un espacio. Este filtro puede utilizarse para eliminar cualquier etiqueta HTML de una variable.
{% set some_html = "<div><strong>Some text</strong></div>" %}
{{ some_html|striptags }}

strtodate

Convierte una cadena y un formato de fecha en un objeto de fecha.
{{ '3/3/21'|strtodate('M/d/yy') }}
ParámetroTipoDescripción
dateFormatCadenaEl formato de fecha a utilizar.

strtotime

Convierte una cadena de fecha y hora y un formato datetime en un objeto de fecha y hora.
{{ "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ")|unixtimestamp }}
ParámetroTipoDescripción
datetimeFormatCadenaEl formato de fecha y hora a utilizar.

sum

Agrega valores numéricos en una secuencia. El primer parámetro puede especificar un atributo opcional y el segundo parámetro establece un valor a devolver si no hay nada en la variable a sumar.
// 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ámetroTipoDescripción
attributeCadenaAtributo a sumar.
return_if_nothingCadenaValor a devolver si no hay nada en la variable a sumar.

symmetric_difference

Este filtro devuelve la diferencia simétrica de dos conjuntos o listas. La lista que el filtro devuelve contiene todos los elementos únicos que están en la primera lista pero no en la segunda, o están en la segunda lista pero no en la primera.
{{ [1, 2, 3]|symmetric_difference([2, 3, 4, 5]) }}
ParámetroTipoDescripción
listMatrizLa segunda lista con la que comparar para encontrar la diferencia simétrica con la lista original.

title

Devuelve una versión del valor en formato de título (es decir, las palabras comenzarán con letras mayúsculas y el resto de los caracteres estarán en minúsculas).
{% set my_title="my title should be title case" %}
{{ my_title|title }}

tojson

Escribe un objeto como una cadena JSON.
{% for content in contents %}
{{ content.blog_post_author|tojson }}
{% endfor %}

trim

Elimina los espacios en blanco iniciales y finales. HubSpot ya recorta los espacios en blanco del marcado, pero este filtro está documentado para que sea más completo.
{{ " remove whitespace " }}
{{ " remove whitespace "|trim }}

truncate

Corta el texto después de un determinado número de caracteres. El valor predeterminado es 255. Los caracteres HTML se incluyen en este conteo.
Nota: ya que este filtro depende de los espacios entre palabras para acortar las cadenas, es posible que no funcione correctamente en idiomas que no los utilizan, como el 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ámetroTipoDescripción
number_of_charactersNúmeroNúmero de caracteres permitidos antes de cortar el texto. Por opción predeterminada es 255.
breakwordBooleanoSi es true, el filtro cortará el texto a lo largo. En el caso contrario, si es false, se descartará la última palabra.
endCadenaAnula los caracteres finales ’…’ predeterminados después del corte.

truncatehtml

Corta una cadena, respetando el marcado HTML (es decir, cerrará correctamente todas las etiquetas anidadas). Esto evitará que una etiqueta permanezca abierta después del corte. Los caracteres HTML no cuentan en el total de caracteres.
Nota: ya que este filtro depende de los espacios entre palabras para acortar las cadenas, es posible que no funcione correctamente en idiomas que no los utilizan, como el japonés.
{% set html_text = "<p>I want to truncate this text without breaking my HTML<p>" %}
{{ html_text|truncatehtml(28, "..." , false) }}
ParámetroTipoDescripción
number_of_charactersNúmeroNúmero de caracteres permitidos antes de cortar el texto. Por opción predeterminada es 255.
endCadenaAnula los caracteres finales ’…’ predeterminados después del corte.
breakwordBooleanoValor booleano. Si es true, el filtro cortará el texto a lo largo. Si es false (predeterminado), se descartará la última palabra. Si solo utilizas uno de los parámetros opcionales, utiliza argumentos de palabra clave, comotruncatehtml(70, breakwords = false).

unescape_html

Convierte texto con entidades codificadas en HTML a sus equivalentes en Unicode.
{% set escape_string = "me & you" %}
{{ escape_string|unescape_html }}

union

Este filtro devuelve la unión de dos conjuntos o listas. La lista que el filtro devuelve contiene todos los elementos únicos que están en cualquiera de las dos listas.
{{ [1, 2, 3]|union([2, 3, 4, 5]) }}
ParámetroTipoDescripción
listMatrizLa segunda lista a unir con la lista original.

unique

Este filtro extrae un conjunto único de una secuencia o dicc. de objetos. Al filtrar un dicc., como una lista de mensajes devueltos por una función, puedes especificar qué atributo se utiliza para desduplicar los elementos en el dicc.
{% set my_sequence = ["one", "one", "two", "three" ] %}
{{ my_sequence|unique }}
ParámetroTipoDescripción
attrCadenaEspecifica el atributo que debe utilizarse al filtrar un valor de dicc.

unixtimestamp

Este filtro convierte un objeto de fecha y hora en una marca de tiempo Unix.

Nota:

Este filtro debe usarse únicamente con variables que devuelvan una fecha. A partir del 30 de septiembre de 2024, este filtro ya no devolverá la fecha actual cuando se pase un valor nulo. Después de esa fecha, un valor nulo en el filtro devolverá el September 30, 2024.
{{ local_dt }}
{{ local_dt|unixtimestamp }}

upper

Convierte todas las letras de un valor a mayúsculas.
{% set text="text to make uppercase" %}
{{ text|upper }}

urlencode

Escapa y codifica la URL de una cadena usando el formato UTF-8. Acepta tanto diccionarios como cadenas regulares, así como iterables por pares.
{% set encode_value="Escape & URL encode this string" %}
{{ encode_value|urlencode }}

urldecode

Decodifica las cadenas de URL codificadas de vuelta a la URL original. Acepta tanto diccionarios como cadenas regulares, así como iterables por pares.
{% set decode_value="Escape+%26+URL+decode+this+string" %}
{{ decode_value|urldecode }}

urlize

Convierte direcciones URL en texto sin formato a enlaces en los que se puede hacer clic. Si le pasas al filtro un número entero adicional, acortará las URL a ese número. El segundo parámetro es un booleano que dicta si el enlace es rel=“no follow”. El último parámetro permite especificar si el enlace se abrirá en una nueva pestaña.
ParámetroTipoDescripción
shorten_textNúmeroNúmero entero que acortará las URL al número deseado.
no_followBooleanoSi se establece como true, el enlace incluirá rel="no follow".
target="_blank"CadenaEspecifica si el enlace se abrirá en una pestaña nueva.
{{ "http://hubspot.com/"|urlize }}
{{ "http://hubspot.com/"|urlize(10,true) }}
{{ "http://hubspot.com/"|urlize("",true) }}
{{ "http://hubspot.com/"|urlize("",false,target="_blank") }}

wordcount

Cuenta el número de palabras de una cadena.
Si la cadena contiene HTML, utiliza el filtro striptags para obtener un recuento preciso.
{%  set count_words = "Count the number of words in this variable"  %}
{{ count_words|wordcount }}

wordwrap

Hace que las palabras se cierren al llegar a un número determinado de caracteres. Esto funciona mejor en una etiqueta <pre> porque HubSpot elimina los espacios en blanco de manera predeterminada.
{% 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) }}
ParámetroDescripción
character_countNúmero de caracteres para cerar el contenido.

xmlattr

Crea una cadena de atributos HTML y XML, basada en los elementos de un dicc. Todos los valores que no sean nulos ni indefinidos se escapan automáticamente. Antepone un espacio al elemento si el filtro devuelve algún valor, a menos que el primer parámetro sea falso.
{% set html_attributes = {"class": "bold", "id": "sidebar"} %}
<div {{ html_attributes|xmlattr }}></div>
ParámetroTipoDescripción
autospaceBooleanoEstablécelo como true para añadir un espacio delante del elemento.