원문: Liquid/Introduction

박성국입니다. 2016년 3월 20일부터 Jekyll로 구동되는 블로그를 성장시키기 위해 Liquid를 공부하게 되었습니다. Liquid로 블로그를 구성하는 연습을 병행하기 위해 해당 언어를 학습하는 페이지를 마련했습니다.

Liquid란 무엇인가?

리퀴드(이하 Liquid)는 Shopify에 의해 개발되고 Ruby로 작성된 오픈소스 템플릿 언어입니다. Liquid는 2006년 6월부터 웹페이지에 동적인 컨텐츠를 로드(load)하는 Shopify의 백본(backbone)으로 기능하고 있습니다.

Liquid는 어디에 쓰이는가

일단 일반 텍스트(plain text)를 정적 웹사이트(static website)로 변환해주는 Jekyll에 쓰인다는 것만 알고 넘어갑시다.

Liquid의 문법 요소

- 오브젝트(Object)

오브젝트(Object)는 페이지의 어느 지점에 해당 대상을 배치할 지 지시합니다. 하나의 오브젝트는 변수명(variable name)을 둘러싸는 중괄호 ‘{‘, ‘}’로 둘러싸는 형태로 표현됩니다.

Example

{{ page.title }}

Output

[번역] 액체 언어 Liquid 배우기: 01. 소개

위의 경우, Liquid는 page.title 객체에 들어있는 “액체 언어 Liquid 배우기” 텍스트를 출력하게 됩니다.

- 태그(Tag)

태그(Tag)는 템플릿의 논리(logic)와 제어 흐름(control flow)을 만들어냅니다. 여타 언어의 제어문 if, else와 유사하다고 보면 됩니다.

오브젝트가 페이지에 어떤 대상을 표시하는 역할을 한다면, 태그는 어떤 것도 페이지에 표시하지 않으면서 변수를 대입하거나 조건문, 반복문 등을 만들어 낼 수 있습니다.

Example

{% if user %}
  Hello {{ user.name }}!
{% endif %}

- 필터(Filter)

필터(Filter)는 Liquid의 오브젝트가 출력되는 방식을 변경합니다.
오브젝트 출력 시에 |로 출력 대상과 구분되게 됩니다.

Example

{{ "/my/fancy/url" | append: ".html" }}

Output

/my/fancy/url.html