Skip to content

Developers · Liquid

Liquid Markup Overview

Last updated 7 November 2026

Liquid (or Liquid Markup) is a template language used by Insites to build dynamic pages and to provide dynamic configuration (E.g. based on the currently logged-in user).

Use Liquid to provide an authorization policy for forms and pages or to specify notifications (email, SMS, API). We have added a lot of filters and tags to make your life easier.

This article is divided into the following sections:

  • Output
  • Tags
  • Filters
  • Raw
  • Comment

Note

Insites Liquid supports hash and array literals in assign (for example ), tags and literals that span several lines, # comments inside the liquid tag, and backslash escapes in strings. See Liquid Types for details.

Output

Output markup (which may resolve to text) is surrounded by:

{{ matched pairs of curly brackets (ie, braces) }}

Example:

{{ user.name }} => John

Tags

Tag markup (which cannot resolve to text) is surrounded by:

{% matched pairs of curly brackets and percent signs %}

Example:

{% if user %}
  true
{% endif %}

Filters

Liquid filters are simple methods that modify the output of numbers, strings, variables, and objects.

Simple Use Case:

{{ 'honda crx' | upcase }} => HONDA CRX

Arguments

Some filters accept arguments. For example, the 'replace' filter accepts two:

{{ 'Hello liquid' | replace: 'liquid', 'world!' }} => Hello world!

Chaining

Having a verbose version of code that will:

  1. Create a string with words.
  2. Prepend 'Zero' in front of the string.
  3. Append the 'Five' string at the end.
  4. Split it by comma to create an array of strings.
  5. Print it to the source.
{% assign numbers = 'One,Two,Three,Four' %}
{% assign numbersWithZero = 'One,Two,Three,Four' | prepend: 'Zero,' %}
{% assign all_numbers = numbersWithZero | append: ',Five' %}
{% assign all_numbers_array = all_numbers | split: ',' %}
{{ all_numbers_array }} => ZeroOneTwoThreeFourFive

You can achieve the same result in a much shorter form by chaining the filters one after another:

{{ 'One,Two,Three,Four' | prepend: 'Zero,' | append: ',Five' | split: ',' }} => ZeroOneTwoThreeFourFive

Raw

If you want to use liquid text on your page without executing it, use .

Comment

Allows you to leave un-rendered code inside a Liquid template. Any text within the opening and closing comment blocks will not be output, and any Liquid code within will not be executed.

Input

Anything you put between {% comment %} and {% endcomment %} tags
is turned into a comment.

Output

Anything you put between  tags
is turned into a comment.

You can also use inside the tag:

{% liquid
  comment
    This is is my code comment
  endcomment
  echo 'This is not a comment'
%}