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 时的首选工具。