Haml 是一种基于缩进的模板引擎,主要用于编写 HTML。相比于传统的 HTML,Haml 提供了一种简洁、优雅的语法,让开发者可以更快速地编写模板。
1. 安装和配置
首先,你需要安装 Haml。可以通过以下命令使用 gem 安装:
gem install haml
当安装完成后,你需要将 Haml 配置到你的应用程序中。具体的配置方法取决于你使用的框架或工具。例如,如果你使用的是 Rails,你可以在 Gemfile
文件中添加以下内容:
gem 'haml-rails'
然后执行 bundle install
安装依赖。
2. 基本语法
2.1 标签和类
在 Haml 中,你可以使用缩进来表示标签的嵌套关系。例如:
%div
%h1 Hello, World
上面的代码片段会被转换为以下 HTML:
<div>
<h1>Hello, World</h1>
</div>
Haml 还支持使用 .
进行类选择器的添加。例如:
%div.container
%h1.title Welcome
上面的代码片段会被转换为以下 HTML:
<div class="container">
<h1 class="title">Welcome</h1>
</div>
2.2 属性
Haml 使用 []
来表示标签的属性。例如:
%a[href="https://example.com"][target="_blank"] Visit Example
上面的代码片段会被转换为以下 HTML:
<a href="https://example.com" target="_blank">Visit Example</a>
2.3 文本
你可以使用 |
来表示标签中的纯文本内容。例如:
%p
| This is a paragraph.
| It has multiple lines.
上面的代码片段会被转换为以下 HTML:
<p>
This is a paragraph.
It has multiple lines.
</p>
2.4 注释
Haml 使用 -#
进行注释。例如:
.container
%h1.title Welcome
-# This is a comment
上面的代码片段会生成以下 HTML:
<div class="container">
<h1 class="title">Welcome</h1>
</div>
3. 高级技巧
3.1 嵌入 Ruby 代码
Haml 允许你在模板中嵌入 Ruby 代码。你可以使用 -
或 =
进行区分。
使用 -
可以嵌入任意的 Ruby 代码块,而不会有返回值。例如:
- if condition
%p Condition is true
- else
%p Condition is false
使用 =
可以嵌入具有返回值的 Ruby 代码,并将其结果插入到模板中。例如:
%p= Time.now
3.2 使用局部变量
Haml 支持使用局部变量。你可以在模板中定义局部变量,并在需要的地方进行使用。例如:
- name = "John"
%p Hello, #{name}!
上面的代码片段会生成以下 HTML:
<p>Hello, John!</p>
3.3 继承和布局
Haml 支持模板的继承和布局。你可以在一个模板中定义布局,并在其他模板中继承该布局。例如:
layout.haml
:
%html
%head
%title My Website
%body
= yield
index.haml
:
-# 继承 layout.haml
- content_for :title do
My Homepage
%p Welcome to my homepage!
上面的代码片段会生成以下 HTML:
<html>
<head>
<title>My Website</title>
</head>
<body>
<p>Welcome to my homepage!</p>
</body>
</html>
结语
以上介绍了 Haml 的一些基本用法和高级技巧,希望对你使用 Haml 进行模板编写有所帮助。使用 Haml 可以让你的代码更加简洁、优雅,并提高开发效率。如果你对 Haml 感兴趣,建议你进一步学习其更多的特性和用法。
本文来自极简博客,作者:梦里花落,转载请注明原文链接:Haml 模板引擎使用技巧