Liquid Filters
All of the standard Liquid filters are supported (see below).
To make common tasks easier, Bridgetown even adds a few handy filters of its own, all of which you can find on this page. You can also create your own filters using plugins.
Description | |
---|---|
Relative URL Prepend the |
|
Absolute URL Prepend the |
|
Date to XML Schema Convert a Date into XML Schema (ISO 8601) format. |
|
Date to RFC-822 Format Convert a Date into the RFC-822 format used for RSS feeds. |
|
Date to String Convert a date to short format. |
|
Date to String in ordinal US style Format a date to ordinal, US, short format. |
|
Date to Long String Format a date to long format. |
|
Date to Long String in ordinal UK style Format a date to ordinal, UK, long format. |
|
Where Select all the objects in an array where the key has the given value. |
|
Where Expression Select all the objects in an array where the expression is true. (Tip: You might want to try using the find tag instead.) |
|
Group By Group an array's items by a given property. |
|
Group By Expression Group an array's items using a Liquid expression. |
|
XML Escape Escape some text for use in XML. |
|
CGI Escape CGI escape a string for use in a URL. Replaces any special characters with appropriate |
|
URI Escape Percent encodes any special characters in a URI. URI escape normally replaces a space with |
|
Obfuscate Link Obfuscate emails, telephone numbers etc. The link text is replaced by a ciphered string (using the ROT47 algorithm, so numbers are included). On page load, this cipher is reversed, so the string is readable again. Takes an optional argument to specify the URI scheme prefix (default "mailto") |
|
Number of Words Count the number of words in some text. |
|
Reading Time Returns the average number of minutes to read the supplied content. Based on 250 WPM but that can be changed using the |
|
Array to Sentence Convert an array into a sentence. Useful for listing tags. Optional argument for connector. |
|
Markdownify Convert a Markdown-formatted string into HTML. |
|
Smartify Convert "quotes" into “smart quotes.” |
|
Slugify Convert a string into a lowercase URL "slug". See below for options. |
|
Titleize Transform a lowercase string, slug, or identifier string into a capitalized title. |
|
Data To JSON Convert Hash or Array to JSON. |
|
Normalize Whitespace Replace any occurrence of whitespace with a single space. |
|
Sort Sort an array. Optional arguments for hashes 1. property name 2. nils order (first or last). |
|
Sample Pick a random value from an array. Optionally, pick multiple values. |
|
To Integer Convert a string or boolean to integer. |
|
Array Filters Push, pop, shift, and unshift elements from an Array. These are NON-DESTRUCTIVE, i.e. they do not mutate the array, but rather make a copy and mutate that. |
|
Inspect Convert an object into its String representation for debugging. |
|
Options for the slugify
filter
The slugify
filter accepts an option, each specifying what to filter.
The default is pretty
(unless the slugify_mode
setting is changed in the site config). They are as follows (with what they filter):
none
: no charactersraw
: spacesdefault
: spaces and non-alphanumeric characterspretty
: spaces and non-alphanumeric characters except for._~!$&'()+,;=@
ascii
: spaces, non-alphanumeric, and non-ASCII characterslatin
: likedefault
, except Latin characters are first transliterated (e.g.àèïòü
toaeiou
).
Detecting nil
values with where
filter
You can use the where
filter to detect documents and pages with properties that are nil
or ""
. For example,
// Using `nil` to select posts that either do not have `my_prop`
// defined or `my_prop` has been set to `nil` explicitly.
{% assign filtered_posts = site.posts | where: 'my_prop', nil %}
// Using Liquid's special literal `empty` or `blank` to select
// posts that have `my_prop` set to an empty value.
{% assign filtered_posts = site.posts | where: 'my_prop', empty %}
Binary operators in where_exp
filter
You can use Liquid binary operators or
and and
in the expression passed to the where_exp
filter to employ multiple
conditionals in the operation.
For example, to get a list of documents on English horror flicks, one could use the following snippet:
{{ site.movies | where_exp: "item", "item.genre == 'horror' and item.language == 'English'" }}
Or to get a list of comic-book based movies, one may use the following:
{{ site.movies | where_exp: "item", "item.sub_genre == 'MCU' or item.sub_genre == 'DCEU'" }}
Standard Liquid Filters
For your convenience, here is the list of all Liquid filters with links to examples in the official Liquid documentation.