创建: 2019/05/23

文档: http://haml.info/docs/yardoc/file.REFERENCE.html

安装

 安装
gem "haml"
   
 纯文本
 

所有不带固有符号的都作为纯文本

   html也作为纯文本 
 转义字符

直接输出后面的

%title
= @title
\= @title

输出为

<title>
MyPage
= @title
</title>
   
   
   
 html标签 
 标签名以 % 开始
%table#data
%tbody
%tr
%td= '@data'

相当于

<table class="data">
<tbody>
<tr>
<td>数据</td>
</tr>
</tbody>
</table>
 属性 {} 或 () 

●  {} 直接作为ruby的hash, 故可用所有ruby语法

- 也可以使用返回hash的方法(多个方法的话从左到右被 merge )

def html_attrs(lang = 'en-US')
{:xmlns => "http://www.w3.org/1999/xhtml", 'xml:lang' => lang, :lang => lang}
end # haml
%html{html_attrs('fr-fr')}

- 前缀

嵌套进hash里

{data: {sample: 1, test: 2}}
# => data-sample="1" data-test="2"

●  () 内部插值:  #{}

%span(class="widget_#{@widget.number}")
 class, id

若传入数组, 则先删除false的元素, 再 flatten

● class(简化方法为.)

若为数组, 先flatten再 join " "

● id(简化方法为#)

若为数组, 先flatten再 join "_"

%div{id: %w(a b c), class: %w(a b c)} 123

解释为

<div class="a b c" id="a_b_c">
123
</div>
 默认元素

如果只指定class/id, 则为div

.sample a

相当于

%div.sample a

相当于

<div class="sample">
a
</div>
 关闭不带内容的标签

/

%br/
 Whitespace Removal: > and <  
 Object Reference: []  
   
   
 doctype:!!!
   
 注释 
 /  多行注释靠缩进
 -#  多行注释靠缩进 
   
 插入ruby
 插入ruby =

=  , 输出结果, 相当于

<%= ... %>

例:

= link_to 'sample', root_path

● 多行

每一行都以  ,  来结束

 -

-  , 不输出结果, 相当于

<% ... %>
 代码块

ruby代码块不需要end

- (1..100).each do |i|
%span= "a: #{i}"
%span= "b: #{i}"
%br/
 Whitespace Preservation: ~  
 插值 #{} 

除了文字里, 也可以放在纯文本里

- (1..100).each do |i|
%span a: #{i}
%span b: #{i}
%br/
 Gotchas  
 Escaping HTML: &=  
 Unescaping HTML: !=  
 Filters  

最新文章

  1. 解决mysql卸载后无法从新安装,卡在最后一步的问题
  2. Ubuntu安装RobotFramework
  3. Atitit &#160;数据存储的分组聚合 groupby的实现attilax总结
  4. iframe标签用法详解(属性、透明、自适应高度)
  5. 开启xp_cmdshell
  6. C# HttpBrowser 跨进程访问,解决内存泄露问题
  7. 转:聊聊并发(八)——Fork/Join框架介绍
  8. HDU_1429——胜利大逃亡续,十位二进制状态压缩,状态判重
  9. puppet aix之自动化用户管理
  10. boost.asio系列——io_service
  11. Thrift源码解析--TBinaryProtocol
  12. [html5] 学习笔记-Canvas标签的使用
  13. Intellij IDEA 2017集成MyBatis三剑客
  14. Ignite Web 控制台(使用官方免费部署的控制台)
  15. sql性能优化之多表联查
  16. 【故障公告】推荐系统中转站撑爆服务器 TCP 连接引发的故障
  17. CentOS 配置SOCKS5代理服务
  18. NSCTF2015 逆向第五题分析
  19. (4)shiro多个realm
  20. yum指令常用参数说明

热门文章

  1. invalid constant type: 18
  2. Hibernate学习---第八节:继承关系的映射配置
  3. AngularJS学习笔记(四) 自定义指令
  4. 2018.6.21 HOLTEK HT49R70A-1 Source Code analysis
  5. Android数据存储的五种方法汇总
  6. Oracle修改字段名、字段数据类型
  7. 【C++ Primer 5th】Chapter 1
  8. Tensorflow 数据导入
  9. Windows Touch 便笺簿的
  10. LVS实战1