前段时间写了一个html简化成haml的概述,但写的不全面,随着我自己用了将近一个月的实践我来把它补充一下。
首先haml和html最大的区别在于haml简化了html的写法,省略了结束符,'<' '>'符号也用%来表示。haml和html各有优劣,html的优点是它能够很清楚的显示一个标签的开头和结尾,是整个代码页面显得很清楚。但不停地写'<','>'和结尾符号显得过于麻烦,对于我这种懒人我更喜欢haml这种简化版的代码。
haml的简化规则如下:
1. !!! 5 代表 <!DOCTYPE html>
2. %E 代表HTML标签。
3. %E#id 代表id属性。
4. %E.class 代表class属性。
5. %E(attr="xxx") 代表某一个特定属性。
6. %E XXX 代表插入标签的内容。
7. %E %N 代表N是E的子元素。N如果写在第二行,需要缩进。
在haml中没有复杂的开始结束符,只用一个%加标签名就可以了,但它也有一个缺点,就是如果使用haml就必须注意格式,因为haml没有结尾福,所以不能像html那样随便写。例如:
<div><a></a></div> //html ,<div>标签中包含了一个<a>标签 <div> <a></a></div> //html ,<div>标签中包含了一个<a>标签 <div> <div> <a></a> </div> //html ,<div>标签中包含了一个<a>标签 %div %a //haml,<div>标签中包含了一个<a>标签 %div %a ////haml,<div>标签中包含了一个<a>标签,注意写在第二行要缩进 %div %a //haml,<div>标签和<a>标签是并列关系
在我们用编程工具写html,js,css等代码有一个快捷键可以整理代码,Ctrl+Alt+Win+L,在haml编写中也不起作用,所以要想用haml编写程序,就要注意格式。
下面我来介绍也谢haml的用法。
首先就是标签本某些特定的属性用%xx{:xxx=>"xxxx”}表示,如:
<div width="100%"> //html,div的宽度设为100% %div{:style=>"width: 100%"} //haml,div的宽度设为100% //如果想多调用几个style,就用;隔开 %div{:style=>"width: 100%;height:100px"} //若果同时有多条特性,各属性之间用','隔开 %div{:style=>"width: 100%",onclick=>"function()",herf=>"xxxxxxxxxxxxx"}
当然了我们通常是采用外部调用的,这里只是简单介绍一下。
下面来说调用函数,html一般都是用<script></script>标签来实现的,把函数放在<head>或<body>标签中,然后用onclick调用,例如:
<!DOCTYPE html> <html> <head> <script> function myFunction() { document.getElementById("demo").innerHTML="My First JavaScript Function"; } </script> </head> <body> <h1>My Web Page</h1> <p id="demo">A Paragraph</p> <button type="button" onclick="myFunction()">Try it</button> </body> </html>
而haml就省略了这些,直接在标签中onclick调用写在js文件中的function。例如:
%button{:onclick=>"Myfunction()“}
这也是我喜欢haml的原因之一。
而且在haml中我们可以不用写hade,body等标签,直接用div块来完成整个页面。
当你需要调用较多时用,分隔开如:
%button{:class=>"mystyle",onclick=>"myfunction()"}
haml想要显示文本内容,直接在标签后加入文本就可以了,例如:
%h1 这是一个标题 %button提交 //一个提交文本的按钮
用haml给标签一个id有两种方法:
//给div一个id为name %div#name %div{:id=>"name"}
其实任何编程语言之间的变换都是有规律的,只要你掌握了规律很快就能掌握一门编程语言。
相关推荐
Haml是一个HTML的模板引擎
哈姆 Haml是HTML的模板引擎。 通过消除冗余,反映文档所表示的基础结构以及提供既强大又易于理解的优雅语法,它旨在使编写HTML文档变得更加轻松愉快。基本用法Haml可以从命令行使用,也可以作为Ruby Web框架的一部分...
Haml2Html 一个易于使用的编译器,用于使用Haml&Sass开发静态页面。要求需要以下内容:安装将存储库克隆到本地计算机。 在您的终端中,导航到/haml2html 。 跑步 ./install这将检查需求并安装未安装的需求。用法将...
用于Webpack的Ruby Haml加载程序 将Haml文件作为模块导入Webpack项目中。 返回渲染的模板。 这很慢。 它是为临时使用而创建的,直到转换为Jade。 此自述文件基于自述文件。 设置 添加到您的webpack配置模块....
PHP实现的HAML模板语言类库,感兴趣的朋友们可以下载下来,用到自己的项目中。
前端项目-clientside-haml-js,Haml compiler for client side javascript and coffeescript view templates
NULL 博文链接:https://hlee.iteye.com/blog/602211
编写类似于ruby的haml实现的代码 在错误的标签嵌套上失败,例如table> td> tr 图书馆支持 请参阅如果您将对haml-to-php.com的支持添加到框架中,我想参考您的工作。 我知道的相关工作 请参阅此处。 最引人注目。 ...
这是一个,将使用该插件haml命令行脚本编译Haml的文件转换成HTML。 您需要同时安装Ruby和Haml才能使用此功能。 尝试gem install haml 。 如果使用 ,请将gem 'haml'添加到Gemfile中,然后运行bundle install 。 ...
用Haskell编写的HAML到ERB转换器。 该程序将模板转换为 。 为什么 很多人更喜欢HAML而不是ERB。 但不是每个人,也不是每个情况都如此。 ERB更简单,更容易记住规则,并且对HTML熟悉的人都可以访问。 ERB模板更易于...
只需内联编写HAML代码,它将扩展为字符串: julia > using HAMLjulia > link = " https://youtu.be/dQw4w9WgXcQ "julia > haml """ %html %body %a(href=link) Hello, world! """ |> print< html > < body...
Middleman 3.0.x项目模板:HTML5 Boilerplate HAML,Normalize,Susy,Sprockets包括 HTML5 Boilerplate HAML是适用于HAML 项目模板,具有响应网格,可以使用 ,由 ,Coffeescript,Sprockets等。 强烈建议使用和 ...
业力预处理器将 haml 脚本编译为 html 的 Karma 预处理器。 支持和作为语言编译器安装最简单的方法是将karma-haml-preprocessor作为 devDependency 保留在package.json 。 { " devDependencies " : { " karma-haml-...
中间人-哈姆Middleman 3.0 模板使用 HTML5 样板 HAML、SCSS 和 CoffeeScript,准备部署到 Heroku。安装将middleman-haml克隆到~/.middleman 。 如果此目录不存在,您将需要创建它。 $ git clone git@github....
更新 我遇到了一些个人问题,由于这个原因,我已经忽略了这个项目几个月。 回到它之后,我意识到它被写得多么糟糕。 我正在重写代码库,以便更清晰,更轻松地使用它。... let html = haml :: to_html
Yii 框架的 HAML 视图渲染器 yii-haml是扩展,它为您的视图带来了功能。 基于项目的分支。 使用 Composer 安装 将此添加到您的composer.json : " repositories " : [ { " type " : " composer " , " url " : ...
前端开源库-ewg-haml-coffee-gulpEWG HAML咖啡吞咽,EWG HAML咖啡模块
PHP实现的HAML模板语言类库
该插件拦截默认的include并将您的Haml模板编译为HTML。 发展历程 这个gem使用一个钩子来编译Haml布局,修改include标签,并添加一个Haml转换器。 在生产使用之前,有许多边境案件需要进行测试。 我启动了该宝石,...
Haml Coffee是一个JavaScript模板解决方案,它使用作为标记,了解内联并生成呈现为HTMLJavaScript函数。 它可以在使用 , , , 等的客户端JavaScript应用程序中使用,也可以在框架的服务器端使用。 您可以通过...