目的:Hamlの基本中の基本的な使い方とRubyコード埋め込みをテストする。
以下の環境にて実施
OS:Windows8.1
Ruby: v2.2.2 x64
Sinatra:v1.4.6
Sinatra-contrib:v1.4.2
haml:v4.0.6
ディレクトリ構造:
作業ディレクトリ(名称は何でもいい)
|-sinatraTest.rb
|-views(名称は左記の通りにディレクトリを作成)
|-view.haml
前提条件
Sinatra:v1.4.6
Sinatra-contrib:v1.4.2
haml:v4.0.6
ディレクトリ構造:
作業ディレクトリ(名称は何でもいい)
|-sinatraTest.rb
|-views(名称は左記の通りにディレクトリを作成)
|-view.haml
前提条件
- 上記に準ずる環境が構築されていること
以下の流れにて実施
- Hamlインストール
- Ruby側のソースコード作成
- Haml側のソースコード作成
- 説明&テスト
1.Hamlインストール
1.1
Rubyコマンドプロンプトを起動する。
1.2
以下のコマンドを実行する。
コマンド:gem install haml
1.3
インストール完了後、以下のコマンドでhamlを確認する。
コマンド:gem list または haml -v
以下の通りにソースコード作成する。
以前、以下の記事を見て頂いた方はソースを改造&追加する形で行うと楽です。
erbを使ってみた。
ソース1
「erb Test!!」の記述直し忘れた。
再アップするのが面倒なのでこのままで...
2.Haml側のソースコード作成
以下の通りにソースコード作成する。
ソース2
3.説明&テスト
3.1
Rubyソース側
「require haml」、hamlを使うためにrequireしている。(なくても警告が出るが動作する。)
「haml :view」、でviews/view.hamlを指定。
Hamlソース側
「%タグ名(htmlタグ)」で、タグの記述ができる。(閉じのタグは不要)
「%タグ名= @埋め込み名」でRubyコードで定義した内容を埋め込める。
または「%タグ名 #{@埋め込み名}」でもよい。
「-#」でhaml内だけのコメントとして扱える。
3.2
Rubyコマンドプロンプトから
sinatraTest.rbのディレクトリへ移動し、以下のコマンドを実行する。
コマンド:ruby sinatraTest.rb
3.3
「localhost:4567」へアクセスし、Rubyソース側で記述してある文言が表示されれば問題ない。
3.4
この項目はやらなくてもいいです。
hamlで記述しているファイルから、html記述のファイルを出力する。
Rubyコマンドプロンプトを起動して、viewsのディレクトリから実行する。
以下のコマンドを実行する。
コマンド:haml -q -E UTF-8 view.haml view.html
「-q」は、区切りをダブルクォーテーションにしてくれる。(デフォルトだとシングルになるため)
「-E UTF-8」は、文字コード指定。(ないとエラーが発生する)
今回のファイルでは、@titleや@textの部分はRubyソースに記述されているので、
htmlで出力しても何も記述されていない。
適当な文言を入れて出力すれば出てくる。
試してみて下さい。
erbよりもhamlの方が記述が少なくなりますね。
今回は、基本中の基本レベルなので、大した実感は出ませんが、
これから大きくなっていけば実感できるかと...
他にも色々と記述できることがあるのですが、、、それはその内...
閑話休題...(まったく関係のない話題)
さて今回なのですが、
github(gist)にてソースコードをいつものごとくアップロードしました。
しかし、あまりにも同じ名前を続けていたため、スパム扱いされてしまいました。
エラー(?)、警告(?)のようなものが出ますので、ちょっと焦りました。
対応としては、サポートの方へメールを出せば、対応してくれます。
ちなみにメールは一応英語で書きました。
管理人はまったくもって英語が苦手なのですよ。
なのでネットで調べた結果、固い英語になってしまいましたね...
GitHub Stuffの対応して下さった方、
拙い英語にもかかわらず、迅速な対応ありがとうございます!
みなさんも私と同じことにならないよう、気を付けて下さい。
以上!!
以下、参考にさせて頂いたサイト
Haml - REFERENCE(本家のドキュメント)