Hamlとは
Haml (HTML Abstraction Markup Language) はRubyのテンプレートエンジンの一つで、HTMLを簡潔に読みやすく書くためのマークアップ言語であり、以下の特徴がある。
- 簡潔な記述:
- インデント(スペースやタブの数)を使ってHTMLの要素のネスト(入れ子)を表現する。これにより閉じるタグが不要となりコードが簡潔になる。
- Rubyの組み込み:
- 自動的なエスケープ
- デフォルトでHTMLエスケープを行います。これにより、クロスサイトスクリプティング(XSS)といったセキュリティリスクを低減することができる
- 高度な機能:
- パーションテンプレート、フィルタ、ヘルパーなどの機能を提供する
公式サイト
記述例
ERBを書き換える
ERB
このERBをHamlで書くと以下のようになる。
Haml
属性の追加
HTML
このHTMLをHamlで書くと以下のようになる。
Haml
以下のように書くこともできる。
Haml
デフォルトのタグ
タグを省略した場合%div
として扱われる。
Haml
HTML
より複雑な例
ERB
このERBをHamlで書くと以下のようになる。
HAML
ERB
このERBをHamlで書くと以下のようになる。
HAML
コメントを書く
HTMLに出力するコメント
一行の場合は以下のように書く。
複数行の場合は以下のように書く。
Hamlにだけ書きたいコメント
一行の場合は以下のように書く。
複数行の場合は以下のように書く。
フィルタ機能