`
sg552
  • 浏览: 620011 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
47437293-94b9-3b04-9152-8971c7580049
白手起家学习使用Flex
浏览量:18709
社区版块
存档分类
最新评论

【笔记】 使用HAML 替换 ERB 的步骤

阅读更多

Steps of replacing erb with haml

 

1.  最最重要的: HAML 的注释:  -#  。可以在替换的时候,先把原来的代码加成注释。 然后再慢慢改~~~

2.  HAML 模板中,不允许出现HTML 等等代码,所以建议先把全文都 -#, 然后再一点一点改。

3.  HAML is more a structure language, 所以, :

 

  erb:   <p> This <%= technology %> is <%= a_littel %>  funcy, with <%= somehow... %> shorthand</p>

 

  ==  

  haml:   

  %p "This #{technology} is #{a_littel} functy..."

  === 注意! 下面的办法不推荐。

  改成HAML 就得是(大概吧,以我目前的理解,估计再找找文档应该有解决方案)

  HAML: 

  %p This

    = technology

    is

    = a_littel

    funcy, with

    = somehow

    shorthand

 

 

 OK,下面开始 记录我的HAML 替换 ERB 的步骤:

 

 div id = 'ooxx'         =>      #ooxx

 

 div id='ooxx' class='enen'  =>  #ooxx.enen

 

 ul  => %ul

 

 div style ="abc"   =>  %div { :style => "abc"}

 

 HTML 注释: 

 <!--  comments -->    =>    / comments

 

 执行RUBY 代码:

 

 <% if true %> 

    <p>123456</p>

 <% end %>

 

变成:  (没有 end ,通过缩进来实现BLOCK的结束)

  - if true

    %p 123456

 

<%= current_user.name %>   =>    =current_user.name

 

javascript:

 

<script>  alert('hi') </script>

 

:javascript

  alert('hi')

 

HAML 注释要跟上面的缩进一致。 否则会出现:

Illegal nesting: content can't be both given on the same line as %div and nested within it.

a. 正确的:

#some_id.some_class Hello moto!

-# some code here....

 

b. 错误的:

#some_id.some_class Hello moto!

  -# some code here....   (注意这一行有缩进)

 

 

 

A line of Ruby code can be stretched over multiple lines as long as each line but the last ends with a comma. For example:

= link_to_remote "Add to cart",
    :url => { :action => "add", :id => product.id },
    :update => { :success => "cart", :failure => "error" }

 

Attribute hashes can also be stretched out over multiple lines to accommodate many attributes. However, newlines may only be placed immediately after commas. For example:

%script{:type => "text/javascript",
        :src  => "javascripts/script_#{2 + 7}"}
0
0
分享到:
评论

相关推荐

    herbalizer:转换HAML到ERB

    除草剂 用Haskell编写的HAML到ERB转换器。 该程序将模板转换为 。 为什么 很多人更喜欢HAML而不是ERB。 但不是每个人,也不是每个情况都如此。...但是,使用Haskell,可以为HAML标记编写一个相当不错的解析器-翻

    为什么要使用HAML和SASS

    此外,HAML还支持内联样式和脚本,以及与其他模板语言(如ERB或JSP)的集成。 接下来,SASS是CSS的预处理器,它引入了变量、嵌套规则、混合(mixins)、函数等特性,让CSS代码更具有模块化和可复用性。比如,你可以...

    haml:HTML抽象标记语言-标记Haiku

    哈姆 Haml是HTML的模板引擎。...基本用法Haml可以从命令行使用,也可以作为Ruby ... gem 'haml' 如果您想用Haml替换基于Rails基于Erb的生成器,请将也添加到您的Gemfile中。格式化Haml的最基本元素是创建HTML的简写: % ta

    让脚手架直接生成Haml模板

    当我们想要脚手架生成Haml而不是ERB(Embedded Ruby)模板时,我们需要进行一些配置或使用特定的插件。 描述中提到的博客链接可能详细介绍了如何实现这个过程。由于没有直接的描述内容,我们将根据常见的做法来解释...

    Ruby-Haml是一个HTML的模板引擎

    4. **与Rails的集成**:Haml与Ruby on Rails框架结合紧密,提供了便捷的视图层开发体验,如erb模板的无缝切换。 5. **扩展性**:Haml支持Sass,一个强大的CSS预处理器,共同为开发者提供了一整套优雅的前端开发工具...

    Haml2Html:一个易于使用的编译器,用于使用Haml&Sass开发静态页面

    Haml2Html 一个易于使用的编译器,用于使用Haml&Sass开发静态页面。要求需要以下内容:安装将存储库克隆到本地计算机。 在您的终端中,导航到/haml2html 。 跑步 ./install这将检查需求并安装未安装的需求。用法将...

    MtHaml:PHP实现的HAML模板语言类库.zip

    安装完成后,你可以在 PHP 代码中引入 `MtHaml` 并使用它来编译 HAML 文件。以下是一个简单的示例: ```php require_once 'vendor/autoload.php'; use MTHaml\Haml; $haml = new Haml(); $html = $haml-&gt;render('...

    前端项目-clientside-haml-js.zip

    为了使用这个项目,开发者需要了解Haml的基本语法,熟悉JavaScript和CoffeeScript,并且懂得如何在他们的前端项目中引入和使用外部库。同时,理解如何配置和运行构建工具也是必要的。对于希望提高前端开发效率,尤其...

    twig-haml-templating:WordPress 的 Twig 模板,使用 HAML 语法

    使用 HAML 语法和 Twig 编写您的主题模板; 您可以混合使用旧版 PHP 模板和 Twig+HAML 模板,因此如果您要将现有主题迁移到 Twig+HAML,则可以一次完成一个模板。 为了保持代码和模板整洁,您的 PHP 主题代码应该只...

    基于Ruby的Haml模板引擎设计源码

    本项目是基于Ruby的Haml模板引擎设计源码,包含149个文件,主要文件类型为rb、haml、xhtml、erb、x、md、gitignore、gitmodules、yml和yardopts。该项目适用于Haml模板引擎的开发和设计,为用户提供了一个丰富的资源...

    scalate:Scalate是基于Scala的模板引擎,支持HAML,Mustache和JSP,Erb和Velocity样式语法

    Scalate是基于的模板引擎,它支持HAML,Mustache和JSP,Erb和Velocity样式语法。 支持以下模板语言: :是Java / Scala的Mustache模板语言:Haml / Scaml模板语言的翡翠风格 :提供Haml样式模板语言 :提供JSP,Erb...

    Ruby-Erubi是ruby的ERB模板引擎

    尽管Erubi提供了简洁和高效的ERB实现,但Ruby社区中还有其他模板引擎,如Haml、Slim和Erbb。它们各有优缺点,适用于不同的场景。例如,Haml以其清晰的缩进和HTML抽象获得了开发者喜爱,而Slim则以更紧凑的语法和更快...

    ruby-haml-loader:使用实际Ruby`haml`的Webpack Haml加载器

    它是为临时使用而创建的,直到转换为Jade。 此自述文件基于自述文件。 设置 添加到您的webpack配置模块.loaders: { test: /\.html\.haml$/, loader: "ruby-haml" } 渲染模板 webpack / assets / javascripts / ...

    gulp-ruby-haml:用于Gulp的Haml插件,使用Ruby Haml gem

    您需要同时安装Ruby和Haml才能使用此功能。 尝试gem install haml 。 如果使用 ,请将gem 'haml'添加到Gemfile中,然后运行bundle install 。 选件 hamlPath 指定haml可执行文件的位置。 如果未提供,则默认为haml...

    MtHaml:PHP实现的HAML模板语言类库

    - **解析HAML**: MtHaml能够解析HAML语法,将其转换为标准的HTML代码,方便在Web应用中使用。 - **自定义标签**: 支持自定义标签和过滤器,可以扩展到处理PHP或其他服务器端语言生成的内容。 - **性能优化**: 通过...

    to_spreadsheet:使用现有视图从Rails渲染XLSX(html⇒xlsx)

    to_spreadsheet to_spreadsheet允许您的Rails 3+应用程序使用现有的slim / haml / erb / etc视图呈现Excel文件。安装将其添加到您的Gemfile中: gem 'to_spreadsheet'用法在控制器中: # my_thingies_controller....

    Laravel开发-laravel-blade-haml

    Laravel Blade 和 HAML 的结合使用则为开发者提供了另一种更加结构化的视图编写方式。 **一、Laravel Blade 介绍** 1. **基础语法**:Blade 语法以 `@` 符号开头,例如 `@if`, `@foreach`, `@endphp` 等。这使得 ...

    Notebook:使用Ruby on Rails,HAML和CSS的笔记本应用

    标题中的“Notebook:使用Ruby on Rails,HAML和CSS的笔记本应用”表明这是一个使用特定技术栈构建的在线笔记本应用。这个应用的核心是Ruby on Rails框架,它是一个强大的、基于模型-视图-控制器(MVC)架构模式的Web...

    emayll:一个Jekyll实例,用于使用Haml离线组织和构建HTML电子邮件

    不推荐使用 我学到了很多东西,但是我已经前进了。 我不想在人们使用它的情况下将其删除,但是我将共享我的Middleman版本。 埃马耶尔 一个Jekyll实例,用于使用Haml离线组织和构建HTML电子邮件 依存关系 入门 ...

    tiny:与框架无关的标记生成器,可用于定义视图助手或用作微型模板化dsl,可与erb和haml一起使用

    它还试图成为一个微小的框架,用于定义要在Rails,Sinatra或任何其他框架的ERB和HAML模板中使用的视图助手。 它提供了一个mixin,用于从任何类内联构建HTML标记或定义具有所有面向对象编程优势(例如继承和封装)的...

Global site tag (gtag.js) - Google Analytics