Sinatra の View に Haml を使ってみる
Haml というのを Sinatra を利用するようになってから始めて知った。Rails でも使えるんだね、知らなかった。考えもなしに erb を使ってた。
今回なぜ使おうかと思ったかというと、Sinatra の公式ページのテンプレートに関しての説明でまず始めに Haml が書かれているということと一度も使ったことがないから(書く程の理由でもないね)。
初めてなので簡単なものから。http://haml.ursm.jp/getting-started からサンプルを。
!!! XML !!! %html{html_attrs} %head %title Hello, Haml! %body %h1 Hello, Haml!
YAML と同じように、インデントでデータ構造を表しているようだ。閉じタグがないのでコードがすっきりして見える。繰り返しはどうするんだろうか。まぁ、それは追々調べよう。
上記の Haml をHTMLにすると次のようになった。
<?xml version='1.0' encoding='utf-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang='en-US' xml:lang='en-US' xmlns='http://www.w3.org/1999/xhtml'> <head> <title>Hello, Haml!</title> </head> <body> <h1>Hello, Haml!</h1> </body> </html>
お、html タグの言語の属性が 'en-US' になっている。変更するには次のように記述すればいい。
%html{html_attrs('ja')}
参考