概要概要

Hamlは、内線コードを使用せずに任意のWebドキュメントのHTMLをきれいに単純に記述するために使用されるマークアップ言語です。Hamlは、最もRuby on Railsアプリケーションで使用されるテンプレート言語であるPHP、ASP、ERBなどのインラインページテンプレートシステムの代わりとして機能します。ただし、Hamlは、動的コンテンツを生成するためのコードがいくつかあるHTMLの記述そのものなので、テンプレートにHTMLを明示的にコーディングする必要はありません。

コアの原則

言語としてのHamlの開発は、いくつかのコア原則の遵守に基づいています。これらは次のとおりです。

  1. マークアップは美しいものであるべきだ

    マークアップは、単に、作者がどのようにレンダリングしたいかに合わせてブラウザにページをレンダリングさせるためのツールとして使用されるべきではありません。レンダリングは人々が目にする唯一のものではありません。人々はマークアップを見て、修正し、理解する必要があります。したがって、マークアップはレンダリングされた結果と同じくらいユーザーフレンドリーで楽しいものであるべきです。

  2. マークアップはDRYであるべきです

    HTMLには大幅な繰り返しがあります。すべての要素は2回名前が付けられます。1回はそのコンテンツの前、1回はその後にあります。ERBはさらに多くの繰り返しと不要な文字を追加します。HAMLは、テキストではなくインデントを使用することによって、要素とコードブロックの開始と終了を決定することでこれをすべて回避します。これはテンプレートを小さくするだけでなく、コードを見やすくします。

  3. マークアップは適切にインデントされているべきです

    ERBの大きな問題の1つは、インデントの良いコードを奨励しないだけでなく、積極的に、難しい、または不可能である、を書くことです。これは、本来、十分にインデントされ、ドキュメントの基礎となる構造を反映するべきである場合に混乱し、読みにくいHTMLにつながります。Hamlは、すべてのタグを自動的に適切にフォーマットしてそうします。

  4. HTMLの構造は明確であるべきです

    XMLとHTMLは、構造化されたドキュメントのアイデアに基づいて構築された形式です。その構造はマークアップに反映されており、同様にHamlなどのメタマークアップにも反映される必要があります。Hamlのロジックは子要素のインデントに基づいているため、この構造は自然に保持され、ドキュメントを人間がより簡単に、より論理的に読めるようになります。

履歴

Hamlは、Hamptonがテンプレートを手で入力し続けることに非常に悩んでいたために作成されました。Web開発には多くの進歩が見られましたが、テンプレートはそのままです。新しいものを入手する時がきました。

それらのフラストレーションに基づいて、Hamlは実験として生まれました。しかし、HamlはUnspace Interactiveで作成されたいくつかの実稼働レベルのWebサイトで、すぐにその能力を証明しました。実際、同社の開発チーム全体がすぐにERBを完全に取り消し、Hamlベースの開発に移行しました。

Hamlはすぐに、生産性の向上を証明しました。また、デザイナーはCSSとの類似性からHamlを気に入っています。Hamlが登場して以来、Web開発の分野はよりよくなっています。

Hamlチーム

Hamlは、元のインプリメンテーションの作成者であるHampton Catlinによって作成されました。ただし、Hamptonはもはやコードの回遊方法さえ知らず、現在は言語の問題について時折相談するだけです。

ナタリー・ヴァイゼンバウムは長年にわたってHamlの「近代的」Ruby実装の主要な開発者兼アーキテクトでした。フォーラムでの投稿に無尽蔵に回答し、バグを修正し、リファクタリングし、速度の向上を発見し、ドキュメントを作成し、新機能を実装するという彼女の献身のおかげでこのプロジェクトは維持されてきました。

ノーマン・クラークはHaml SpecとLua内のHamlの実装の作者で、2012年4月にメンテナーを引き継ぎました。

Hamlのブランディングとデザインはニック・ウォルシュによって提供されました。

ライセンス

Hamlの実装にはMITライセンスが適用されます。