關於
Haml 是一種標記語言,用於清楚且簡單地描述任何網頁文件的 HTML,而無需使用內嵌程式碼。Haml 作為內嵌頁面範本系統的替代品,例如 PHP、ASP 和 ERB,這是大多數 Ruby on Rails 應用程式中使用的範本語言。然而,Haml 避免了將 HTML 明確編碼到範本中的需要,因為它本身就是 HTML 的描述,其中包含一些用於產生動態內容的程式碼。
核心原則
Haml 作為一種語言的開發基於對幾個核心原則的堅持。這些原則是
-
標記應該美觀
標記不應僅用作讓瀏覽器按照作者希望的方式呈現頁面的工具。呈現並非人們必須看到的唯一事物;他們還必須看到、修改和了解標記。因此,標記應與呈現結果一樣友善且令人愉悅。
-
標記應DRY
HTML 涉及大量重複。每個元素都命名兩次:一次在內容之前,一次在內容之後。ERB 甚至增加了更多重複和不必要的字元。HAML 透過依賴縮排,而非文字,來決定元素和程式區塊的開始和結束,從而避免了所有這些問題。這不僅會產生較小的範本,還能讓程式碼看起來更簡潔。
-
標記應縮排良好
ERB 的主要問題之一是,它不僅不鼓勵縮排良好的程式碼,還會積極讓撰寫程式碼變得困難,甚至不可能。這會導致令人困惑、難以閱讀的 HTML,而它應當縮排良好,並反映文件的底層結構。Haml 會自動將所有標籤正確格式化為它所執行的動作。
-
HTML 結構應清晰
XML 和 HTML 是建立在結構化文件概念上的格式。該結構反映在其標記中,並且也應反映在元標記(例如 Haml)中。由於 Haml 的邏輯基於子元素的縮排,因此自然會保留此結構,這使得文件對人類來說更容易閱讀且更具邏輯性。
歷史
Haml 的創建是因為 Hampton 對必須持續手動輸入範本感到非常厭煩。網路開發已經有了許多進步,但範本仍然保持不變。是時候嘗試一些新東西了。
基於這些挫折,Haml 作為一個實驗而誕生。然而,Haml 在 Unspace Interactive 建立的幾個生產級網站中迅速證明了自己的價值。事實上,該公司的整個開發團隊迅速完全放棄了 ERB,並完全轉向基於 Haml 的開發。
Haml 迅速證明自己是一個生產力恩賜。此外,設計師們喜歡 Haml,因為它與 CSS 相似。自 Haml 問世以來,網路開發領域變得更好了。
Haml 團隊
Haml 由 Hampton Catlin 創建,他是原始實現的作者。然而,Hampton 現在甚至不再了解程式碼,現在只是偶爾諮詢語言問題。
Natalie Weizenbaum 多年來一直是 Haml 的「現代」Ruby 實作的主要開發者和架構師。她辛勤不懈地回答論壇文章、修復錯誤、重構、尋找速度改進、撰寫文件和實作新功能,這讓這個專案得以存續。
Norman Clarke,Haml Spec 和 Lua 中 Haml 實作的作者,於 2012 年 4 月接任維護者。
Haml 的品牌和設計由 Nick Walsh 貢獻。
授權
Haml 實作可在 MIT 授權 下取得。