Hamlを使ってみた
ウワサのHamlを使ってみました。Hamlの文法は簡単です。 本家サイトのチュートリアルを読んでも読まなくても書けるくらい。
というわけで、まずはkaeruspoonのlayoutsビューファイルをHamlにしてみました。以下のような感じです。すごく簡潔でいいですね。
app/views/layout/application.html.haml
!!! XML
!!! 1.1
%html
%head
%meta{:name => "Description", :content => "おおいしつかさのブログです。"}
%meta{:name => "Keywords", :content => "Ruby,programming,bike,drive,novel,book"}
%meta{:name => "Author", :content => "OISHI Tsukasa"}
%title= h(@title)
= auto_discovery_link_tag :atom, formatted_articles_url("atom")
= stylesheet_link_tag 'all'
%body
#container
#header
%ul#header_menu
%li= link_to "ブログ", articles_path
%li= link_to "写真", "http://image.kaeruspoon.net/tsukasa/pictures"
%li= link_to "キーワード", keywords_path
%li= link_to "ブックマーク", "http://b.hatena.ne.jp/tsukasa_oishi/"
- if logged_in?
%li= link_to "ログ", date_visiters_path
%li= link_to "アカウント", edit_user_path
%li= link_to "ログアウト", :controller => "account", :action => "logout"
- else
%li= link_to "ログイン", :controller => "account", :action => "login"
%h1#logo= link_to(image_tag('title.png'), articles_path)
#content
= yield :layout
#side_bar
= render :partial => "share/twitter"
= render :partial => "share/profile"
= render :partial => "share/amazon"
= render :partial => "share/ranking"
= render :partial => "share/comments"
= render :partial => "share/archives"
= render :partial => "share/keywords"
= render :partial => "share/youtube"
= render :partial => "share/nico"
= javascript_include_tag :all, :cache => true
= javascript_tag %Q|Rounded("div#content", "#000", "#181818"); Rounded("div#side_bar", "#000", "#121212"); try{window.addEventListener("load",prettyPrint,false);}catch(e){window.attachEvent("onload",prettyPrint);}|
ひとつの不満はネストでブロックを表現しているところ。ちょっと気持ち悪いです。そのせいでjavascript_tagの中が綺麗に書けませんでした。
追記
あれ、改行すると勝手にネストされている。なんだろう。とりあえず元に戻します。