haml

Rails에서는 사이트의 디자인을 위해서 rhtml이라는 것을 사용한다. rhtml은 단어 그대로 html 안에 간단한 루비 코드를 집어넣을 수 있도록 되어 있는 것이다.

Rails 1.2 출시 관련 소식 을 보려고 레일즈 홈페이지에 갔다가 haml이라는 새로운 마크업 포맷에 대해 알게 되었다. 실제로 rhtml에 비해서 훨씬 간단하고 이해하기 쉬운 (human readable) 소스를 만들 수 있도록 되어 있다.

haml 홈페이지의 첫 문장은 이렇게 되어 있다.

Haml takes your gross, ugly templates and replaces them with veritable Haiku.

Haiku라는건 일본의 정형시의 일종으로 5/7/5의 운율을 가지고 있다. 최근에 많은 블로그에서 하이쿠를 사용하고 있는 것을 볼 수 있을만큼 최근에 나름대로 유행인 것 같다. 템플레이트를 진짜 하이쿠로 만들어준다는 것은 가독성이 좋은 템플레이트를 만들 수 있다는 것을 강조하는 것이겠지.

이런 코드를,

<div id="content">
<div class="left column">
<h2>Welcome to our site!</h2>
&lt;%= print_information %&gt;</div>
<div class="right column">&lt;%= render :partial =&gt; "sidebar" %&gt;</div>
</div>

이렇게 만들 수 있다.

  #content
    .left.column
      %h2 Welcome to our site!
      %p= print_information
    .right.column= render :partial => "sidebar"

진짜 가독성이나 편리함 면에서 좋은 것 같다. 이제 버전도 1.0에 진입했고, 레일즈 홈페이지에서 공식적으로 rhtml 대신 시도해 볼만하다고 추천을 하고 있는걸 보면, 앞으로 사용자가 꽤 늘어날 것 같다. 한 번 봐두는게 좋겠다는 생각이 든다.