Ascribe

Liquid Filters

Filter Basics

You can use filters to modify the markup produced by output tags. A filter is a simple method that takes a single parameter, which is always the output of the portion of the output to the left of the filter. For example, you can use the mail_to filter within an Ascribe template to turn your company's email address into a clickable link:

{{ company.email | mail_to }}

If your company's email address is "bids@example.com" then this would produce the HTML markup:

<a href="mailto:bids@example.com">bids@example.com</a>

Filters can also be chained together. In this case, the result of each filter becomes the input of the next in line. For example, this chain of two filters will turn your email into an upper-cased clickable link:

{{ company.email | upcase | mail_to }}

If your company's email address is "bids@example.com" then this would produce the HTML markup:

<a href="mailto:BIDS@EXAMPLE.COM">BIDS@EXAMPLE.COM</a>

String Filters

capitalize
Capitalizes each word in the string.
downcase
Converts all characters to lowercase.
remove
Removes all instances of specified text from the string. For example, {{ company.company_website_path | remove: "http://" }} removes the prefix from the company's web site address.
remove_first
Same as remove, but only removes the first instance of the specified text.
replace
Replaces characters in the string. For example, {{ project.street | replace: "St.", "Street" }} would spell out the abbreviation "St." if encountered in the variable. You can use regular expressions in the search and replacement.
replace_first
Same as replace, but only replaces the first instance of the specified text.
size
Returns the number of characters in the string.
truncate
By default, truncates a string to 50 characters and adds "...". You can modify these parameters by supplying arguments to the filter. For example, {{ project.title | truncate: 10, "" }} will truncate the project title to 10 characters and not add anything after it.
truncatewords
By default, truncates a string to 15 words. You can change the number of words by supplying an argument. For example, {{ project.description | truncatewords: 10 }} will retrieve the first 10 words of the project description.
upcase
Converts all characters to uppercase.

Collection Filters

first
Returns the first item in the collection.
join
Concatenates all items in a collection by putting a supplied string between them. For example, {{ projects | join, ", " }} will produce a list like this: "New Office Building, Shopping Center Remodel, Site Survey - Grand Road, Plant Addition".
last
Returns the last item in the collection.
size
Returns the number of items in the collection
sort
Sorts the collection by name. There is no way to sort by a property of the objects in the collection.

Date Filter

date
Presents a date by using a supplied format string. For example, {{ project.completed_at | date: "%m/%d/%y" }} will return a string such as "08/22/09". The table below shows the special characters that you can use in the format string.
%aThe abbreviated weekday name ("Sun")
%AThe full weekday name ("Sunday")
%bThe abbreviated month name ("Jan")
%BThe full month name ("January")
%cThe preferred local date and time representation
%dDay of the month (01 to 31)
%HHour of the day, 24-hour clock (00 to 23)
%IHour of the day, 12-hour clock (01 to 12)
%jDay of the year (001 to 366)
%mMonth of the year (01 to 12)
%MMinute of the hour (00 to 59)
%pMeridian indicator ("AM" or "PM")
%SSecond of the minute (00 to 60)
%UWeek number of the current year, starting with the first Sunday as the first day of the first week (00 to 53)
%WWeek number of the current year, starting with the first Monday as the first day of the first week (00 to 53)
%wDay of the week (Sunday is 0, 0 to 6)
%xPreferred representation for the date alone, no time
%XPreferred representation for the time alone, no date
%yYear without a century (00 to 99)
%YYear with century
%ZTime zone name
%%Literal "%" character

Presentation Filters

escape
Escapes all HTML in a string, making it safe for screen output regardless of its source.
h
Same as escape.
mail_to
Converts an email address to a hyperlink.
newline_to_br
Converts all newlines to <br /> tags.
simple_format
Applies simple formatting rules to a string: converts all single newline characters to <br /> tags and all doubled newline characters to <p> tag pairs.
strip_html
Removes all HTML from a string.
strip_newlines
Removes all newlines from a string.