首先,haml
它是作为一个gem
的形式存在的. 只要是 ruby 的项目,都可以通过bundle
或者gem
命令来安装这个 gem. 本文假设你在使用rails
框架. 当然可以套用到任何需要视图的 ruby 项目中. 这里, 你可以尝试的就是把views
下的文件全部替换成haml
格式的文件.
app/views/homepage/index.html.erb → app/views/homepage/index.html.haml
.erb
<strong><%= item.title %></strong>
.haml
%strong= item.title
在haml
中,当我们书写一个html
标签的时候,需要一个百分号 % 然后跟tag
名,像这样子的: %string
, %div
, %body
, %html
. 还有其他任何你想要的 tag. 之后,是一个等号 =
. 这样就是告诉haml
, 需要执行一段ruby 代码
,然后把结果值作为 tag 的内容显示.和 ERB 不一样的是, Haml 将会会自动的判断是否需要换行,格式化 tag.
追加属性
html
<strong class="code" id="message">Hello, World!</strong>
haml
%strong{:class => "code", :id => "message"} Hello, World!
可以看出,属性就是作为一个hash
传递给这个 tag 的.然后这里并没有使用=
,即后面的hello world
就只是作为 string 来对待,而不是ruby code
.
由于class
和id
属性都是非常常见的,所以我们可以采取更加简单的方式来书写:
%string.code#message hello, world!
看到了吗, .code
也就是类似 css 里的类 rule, 而# message
就是好比 id 类.
另外由于div
太过常见.我们完全就可以省略%
号了. 这样:
.content Hello, world!
对应生成的 html 就是:
Hello, World!
以上就是对haml简单介绍,一些其他的用法什么的,还需大家多用多敲代码一步步的学一步步的提升!