--- layout: default --- {% include home-banner.html %} Liquid is an open-source template language created by [Shopify](https://www.shopify.com) and written in Ruby. It is the backbone of Shopify themes and is used to load dynamic content on storefronts. Liquid is also used in static site generators like [Jekyll](http://jekyllrb.com). Liquid has been in production use since June 2006 and is now used by many other hosted web applications. It was developed for usage in Ruby on Rails web applications and integrates seamlessly as a plugin but it also works well as a stand alone library. ## Introduction Liquid is a language for writing and rendering templates. This means that you can reduce code duplication by displaying and manipulating content on web pages without changing a site's code. ### Objects **Objects** tell Liquid where to show content on a page. Objects and variable names are denoted by double curly braces: `{% raw %}{{{% endraw %}` and `{% raw %}}}{% endraw %}`. For example, you can show basic content like a page title using a Liquid object: | Liquid | Output | |:----------------------------------------|:---------| | {% raw %}`{{ page.title }}`{% endraw %} | Overview | In this case, Liquid is rendering the content of an object called `page.title`, and that object contains the text `Overview`. [Filters](/filters) can change the way objects are rendered. ### Tags **Tags** create the logic and control flow for your template, including variable assignments, conditionals, and loops. Tags are denoted by curly braces and percent signs: `{% raw %}{%{% endraw %}` and `{% raw %}%}{% endraw %}`. Tag markup does not resolve to text. This means that you can assign variables and create conditionals and loops without showing any of the Liquid logic on the page. #### Conditionals For example, you can change what information Liquid shows using conditionals:
Liquid
Output
Liquid
Output