关于 关于

Haml 是一种标记语言,用于干净简洁地描述任何网页文档的 HTML,无需使用内联代码。Haml 作为内联页面模板系统(如 PHP、ASP 和 ERB)的替代品,ERB 是大多数 Ruby on Rails 应用程序中使用的模板语言。但是,Haml 避免了将 HTML 显式编码到模板中的需要,因为它本身就是 HTML 的描述,其中包含一些用于生成动态内容的代码。

核心原则

Haml 作为一种语言的开发基于对几个核心原则的坚持。这些是

  1. 标记应该美观

    标记不应仅仅用作一种工具,让浏览器以作者想要的方式呈现页面。渲染不是人们唯一需要看到的东西;他们还需要看到、修改和理解标记。因此,标记应该与渲染结果一样用户友好和令人愉快。

  2. 标记应该是DRY

    HTML 涉及大量重复。每个元素都被命名两次:一次在内容之前,一次在内容之后。ERB 增加了更多重复和不必要的字符。HAML 通过依赖缩进而不是文本来确定元素和代码块的开始和结束位置,从而避免了所有这些。这不仅会导致更小的模板,而且使代码看起来更干净。

  3. 标记应该缩进良好

    ERB 的主要问题之一是,它不仅不鼓励缩进良好的代码,而且实际上使编写缩进良好的代码具有挑战性,甚至是不可能的。这会导致混乱、难以阅读的 HTML,而它应该缩进良好,并反映文档的底层结构。Haml 自动将所有标签正确格式化,使其能够做到这一点。

  4. 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 许可证 获得。