append

Concatena duas strings e retorna o valor concatenado.
{{ "/my/fancy/url" | append: ".html" }}
/my/fancy/url.html
append também pode ser usado com variáveis:
{% assign filename = "/index.html" %}
{{ "website.com" | append: filename }}
website.com/index.html

prepend

Adiciona a string especificada ao início de outra string.
{{ "apples, oranges, and bananas" | prepend: "Some fruit: " }}
Some fruit: apples, oranges, and bananas
prepend também pode ser usado com variáveis:
{% assign url = "example.com" %}
{{ "/index.html" | prepend: url }}
example.com/index.html

capitalize

Torna o primeiro caractere de uma string maiúsculo.
{{ "title" | capitalize }}
Title
capitalize apenas capitaliza o primeiro caractere de uma string, então palavras posteriores não são afetadas:
{{ "my great title" | capitalize }}
My great title

upcase

Torna cada caractere em uma string maiúsculo. Não tem efeito em strings que já estão todas em maiúsculas.
{{ "Parker Moore" | upcase }}
PARKER MOORE
{{ "APPLE" | upcase }}
APPLE

downcase

Torna cada caractere em uma string minúsculo. Não tem efeito em strings que já estão todas em minúsculas.
{{ "Parker Moore" | downcase }}
parker moore
{{ "apple" | downcase }}
apple

strip

Remove todos os espaços em branco (tabs, espaços e quebras de linha) de ambos os lados esquerdo e direito de uma string. Não afeta espaços entre palavras.
BEGIN{{ "          So much room for activities!          " | strip }}END
BEGINSo much room for activities!END

lstrip

Remove todos os espaços em branco (tabs, espaços e quebras de linha) do lado esquerdo de uma string. Não afeta espaços entre palavras.
BEGIN{{ "          So much room for activities!          " | lstrip }}END
BEGINSo much room for activities!          END

rstrip

Remove todos os espaços em branco (tabs, espaços e quebras de linha) do lado direito de uma string. Não afeta espaços entre palavras.
BEGIN{{ "          So much room for activities!          " | rstrip }}END
BEGIN          So much room for activities!END

strip_newlines

Remove quaisquer caracteres de quebra de linha de uma string.
{% capture string_with_newlines %}
Hello
there
{% endcapture %}

{{ string_with_newlines | strip_newlines }}
Hellothere

replace

Substitui toda ocorrência do primeiro argumento em uma string pelo segundo argumento.
{{ "Take my protein pills and put my helmet on" | replace: "my", "your" }}
Take your protein pills and put your helmet on

replace_first

Substitui apenas a primeira ocorrência do primeiro argumento em uma string pelo segundo argumento.
{{ "Take my protein pills and put my helmet on" | replace_first: "my", "your" }}
Take your protein pills and put my helmet on

replace_last

Substitui apenas a última ocorrência do primeiro argumento em uma string pelo segundo argumento.
{{ "Take my protein pills and put my helmet on" | replace_last: "my", "your" }}
Take my protein pills and put your helmet on

remove

Remove toda ocorrência da substring especificada de uma string.
{{ "I strained to see the train through the rain" | remove: "rain" }}
I sted to see the t through the

remove_first

Remove apenas a primeira ocorrência da substring especificada de uma string.
{{ "I strained to see the train through the rain" | remove_first: "rain" }}
I sted to see the train through the rain

remove_last

Remove apenas a última ocorrência da substring especificada de uma string.
{{ "I strained to see the train through the rain" | remove_last: "rain" }}
I strained to see the train through the

truncate

Encurta uma string até o número de caracteres passado como argumento. Se o número especificado de caracteres for menor que o comprimento da string, reticencias (…) são adicionadas à string e são incluídas na contagem de caracteres.

Basic Usage

{{ "Ground control to Major Tom." | truncate: 20 }}
Ground control to...

Reticências personalizadas

truncate aceita um segundo argumento opcional que especifica a sequência de caracteres a ser anexada à string truncada. Por padrão são reticências (…), mas você pode especificar uma sequência diferente. O comprimento do segundo argumento conta contra o número de caracteres especificado pelo primeiro argumento. Por exemplo, se você quer truncar uma string para exatamente 10 caracteres, e usar reticências de 3 caracteres, use 13 para o primeiro argumento de truncate, já que as reticências contam como 3 caracteres.
{{ "Ground control to Major Tom." | truncate: 25, ", and so on" }}
Ground control, and so on

Sem reticências

Você pode truncar para o número exato de caracteres especificado pelo primeiro argumento e evitar mostrar caracteres finais passando uma string vazia como segundo argumento:
{{ "Ground control to Major Tom." | truncate: 20, "" }}
Ground control to Ma

split

Divide uma string em um array usando o argumento como separador. split é comumente usado para converter itens separados por vírgula de uma string para um array.
{% assign beatles = "John, Paul, George, Ringo" | split: ", " %}

{% for member in beatles %}
  {{ member }}
{% endfor %}
John

  Paul

  George

  Ringo

truncatewords

Encurta uma string até o número de palavras passado como argumento. Se o número especificado de palavras for menor que o número de palavras na string, reticências (…) são anexadas à string.
{{ "Ground control to Major Tom." | truncatewords: 3 }}
Ground control to...

Reticências personalizadas

truncatewords aceita um segundo argumento opcional que especifica a sequência de caracteres a ser anexada à string truncada. Por padrão são reticências (…), mas você pode especificar uma sequência diferente.
{{ "Ground control to Major Tom." | truncatewords: 3, "--" }}
Ground control to--

Sem reticências

Você pode evitar mostrar caracteres finais passando uma string vazia como segundo argumento:
{{ "Ground control to Major Tom." | truncatewords: 3, "" }}
Ground control to

normalize_whitespace

Substitui qualquer ocorrência de espaço em branco com um único espaço.
{{ "a \n b" | normalize_whitespace }}
a b

number_of_words

Conta o número de palavras em um texto. Este filtro aceita um argumento opcional para controlar o tratamento de caracteres chinês-japonês-coreano (CJK) na string de entrada:
  • Passar 'cjk' como argumento contará cada caractere CJK detectado como uma palavra independentemente de ser separado por espaço em branco.
  • Passar 'auto' (detecção automática) funciona similar a 'cjk' mas é mais performático se o filtro for usado em uma string variável que pode ou não conter caracteres CJK.
{{ "Hello world!" | number_of_words }}
2
{{ "你好hello世界world" | number_of_words }}
1
{{ "你好hello世界world" | number_of_words: "cjk" }}
6
{{ "你好hello世界world" | number_of_words: "auto" }}
6

array_to_sentence_string

Converte um array em uma frase. Útil para listar tags. Argumento opcional para conector.
{{ "foo,bar,baz" | split: "," | array_to_sentence_string }}
foo, bar, and baz
{{ "foo,bar,baz" | split: "," | array_to_sentence_string: "or" }}
foo, bar, or baz