おおいしつかさ


旅行とバイクとドライブと料理と宇宙が好き。
Ubie Discoveryのプログラマ。
Share:  このエントリーをはてなブックマークに追加

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の中が綺麗に書けませんでした。

追記
あれ、改行すると勝手にネストされている。なんだろう。とりあえず元に戻します。