Haml 安装 

Haml 简介

Haml(HTML Abstraction Markup Language)是一个用于生成 HTML 的标记语言。它的主要目的是通过简化 HTML 的书写过程,使代码更加简洁和易读。与传统的 HTML 相比,Haml 在语法上更具表达力和结构性。以下是一些 Haml 的 基本特点和优势:


  • 简洁的语法:Haml 使用缩进而不是传统的标签闭合,减少了冗余的 HTML 标签,使代码更简洁。例如,Haml 去除了许多闭合标签和属性定义的重复。

%ul
  %li Item 1
  %li Item 2

这段Haml代码将被渲染为

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
</ul>


  • 缩进和结构:Haml 依赖缩进来表示 HTML 结构,类似于 Python 的代码缩进方式。这使得嵌套关系一目了然,避免了 HTML 中常见的标签混乱。

%div.container
  %h1 Welcome
  %p This is a paragraph.
  • 嵌套表达式:Haml 允许在标记中嵌入 Ruby 代码,从而动态生成内容。例如:

%ul
  - @items.each do |item|
    %li= item

这段代码会生成一个 <ul> 列表,其中每个 <li> 标签的内容来自 @items 数组。


  • 内置过滤器:Haml 支持多种过滤器(如 Markdown ),使得在 Haml 文件中嵌入不同格式的内容变得简单:

:markdown
  # Markdown Header
  * List item


  • 代码注入和安全性:Haml 提供了多种机制来避免XSS(跨站脚本攻击)等安全问题,自动处理 HTML 转义和安全插入。

  • 与 Rails 集成:Haml 与 Ruby on Rails集成良好,作为视图模板的替代方案,它能够与 Rails 的其他组件(如 helpers 和局部视图)无缝协作。


Haml 特性

  • 空白符有效

  • 格式良好的标记

  • DRY

  • 遵循 CSS 约定

  • 集成 Ruby 代码

  • 使用 .haml 扩展名实现 Rails 模板


Haml使用场景

  • 作为命令行工具,

  • 作为 Ruby on Rails 的插件,

  • 以及作为独立的 Ruby 模块。



总的来说,Haml 通过减少冗余、提高可读性、支持动态内容生成和增强安全性,成为了许多开发者在编写 HTML 时的首选工具。