ページ

ラベル Haml の投稿を表示しています。 すべての投稿を表示
ラベル Haml の投稿を表示しています。 すべての投稿を表示

2011年3月1日火曜日

Slimで画像をリンクにする

HTMLでいうところの

をSlimで書くときどうするのかわからなくてしばらくハマった。


こう書けばよかった。普通にインデントしてやればいい。


emacs用のslimテンプレートがあまりよろしくないようで、aタグの下でtabでインデントしてもaと同じか、もしくは浅い方にしかインデントされない。のでスペースキーでインデントしてやる必要がある。

ついでに、改行もどう書くのかしばらく悩んだのだけど、普通に
br
って書けばいいだけだった。

さらについでに、haml2slimなんていうhamlをslimに変換してくれるgemがあるので、slimの書き方がわからないときにhamlで書いて変換するとか、今までhamlで書いてきたものをすべてslimにしたいなどという変な人には便利ですね。

2010年12月4日土曜日

SinatraでHamlを別ファイルに書く

前回書いたhello_haml.rbのビュー部分を別ファイルに書く。

本体となるhello.rbと、viewsフォルダに分ける。

viewsフォルダの中には
 layout.haml
 index.haml
 hello.haml

それぞれ以下のように書いてやればいい。

hello.rb

views/layout.haml

views/index.haml

views/hello.haml


前回のhello_haml.rbを含む全体をまとめたものとをgithubに上げておいた。
https://github.com/zakuni/hellohaml

Sinatra,erbのHello WorldをHamlを使って書き直す

Slimというよさげなものが出てきて、是非とも流行ってほしいところですが、Sinatraに搭載されるのは次のリリースかららしいですし、僕はまずHamlをSinatraで使うのも覚束ないので、練習がてらに、

ここ↓に載ってるSinatraとerbを使ってのHello Worldのerb部分をHamlで書き直してみた。
http://gihyo.jp/dev/serial/01/ruby/0009?page=2

これが元のコード


そしてこれがHamlを使って書き直したもの。

「template :layout」には、htmlタグとかみたいな、各ページに共通する、まさにテンプレ部分を書くらしい。
ページによって無効にしたいときは、「haml :layout => false」してやればいいようだ。
ちなみに各タグに¥nとかの改行コードをつけてやれば、erbみたいに1行で書くこともできるけど、やってみたら気持ち悪い&見辛かった、のでこういう風にした。

インデントは全体的にちょっと気持ち悪いけど、Hamlはインデントに意味を持たせてるから下手にいじるとエラーが出ちゃう。
SinatraでHamlを使うときは、きちんと別ファイルを作ってやるとかしたほうがよさげなのかな。

追記:
別ファイルに作ってやった
http://zakuni.blogspot.com/2010/12/sinatrahaml.html