- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
据我了解,默认情况下,HTML5 中的标签不应自动关闭(尽管允许使用自动关闭标签)。但是我在我的应用程序中使用 HAML,使用 HTML5 文档类型 (!!! 5
) 并在 application.rb 中指定 Haml::Template.options[:format] = :html5
但是,当我查看我生成的标记时,我的链接标签仍然用自闭标签 />
知道这里发生了什么吗?这是 HAML 与 HTML5 文档类型的默认行为,还是我配置不正确?
最佳答案
如果link
标签由 Rails 助手生成,例如 stylesheet_link_tag
, 那么无论 Haml 格式设置如何,它们都会有结束斜杠,因为字符串只是从 rails 方法返回并按原样包含在输出中,与 Haml 无关。
例如这个 Haml:
!!!
%html
%head
= stylesheet_link_tag "foo"
%link{:rel=>"stylesheet"}
生成以下格式设置为 html5(这是 Rails 3 的默认格式)的输出:
<!DOCTYPE html>
<html>
<head>
<link href="/stylesheets/foo.css" media="screen" rel="stylesheet" type="text/css" />
<link rel='stylesheet'>
通过使用 Haml::Template.options[:format] = :xhtml
将格式更改为 xhtml在environment.rb
, 相同的 Haml 产生这个:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link href="/stylesheets/foo.css" media="screen" rel="stylesheet" type="text/css" />
<link rel='stylesheet' />
<link>
由 Haml 控制的元素(即 Haml 源代码中的 %link
)遵循格式,并根据需要包含或省略结束斜杠。在这两种情况下,Rails 助手生成的链接只包含结束斜杠。
什么 !!!
产生取决于设置的格式,但来自 Haml docs :
When the :format option is set to
:html5
,!!!
is always<!DOCTYPE html>
.
所以你应该得到 <!DOCTYPE html>
不管你在!!!
之后放什么.
关于html - HTML5 中的链接标签不应自动关闭,但 HAML 正在关闭它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6526841/
在 HAML 中,我经常想在标签后立即使用带有标点符号的标签。例如,我可能想将某些内容加粗但有一个结束括号。格式如下:(示例语句 粗体文本 。) 请注意,“粗体文本”是粗体,但句号和右括号“.)”不是
在html中,你可以做这样的事情 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget aliquet
我有 = image_tag "chart.jpg" 我是HAML的新手,所以如何为它添加一个类? 最佳答案 假设这是rails(Haml没有自己的image_tag帮助器,但是是Rails doe
有没有更好的方法将以下内容转换为 HAML? "> 我能做的最好的是: - flash.each do |key, value| %div{:class => "flash " +
我正在遍历一组项目并将它们显示在嵌套在 div 中的列表中。目标是每天都有一个 div,并在每个 div 中显示当天的项目。 我如何在 HAML 中做到这一点?我认为我不能(或应该)有条件地关闭并创建
我写了一个简单的custom filter in HAML但我无法让我的 Rails 应用程序找到它。 过滤器如下所示: # lib/haml/filters/gfmarkdown.rb module
我希望能够在同一行上有两个 Haml 元素。例如: %h1 %a{:href => '/'} Professio. 那行不通。我怎样才能让这样的事情在不无聊的情况下工作? 最佳答案 不幸的是,您不能将
使用 HAML,我希望将链接放在一行中,中间有逗号。像这样, Check me out on GitHub, Twitter, Coderwall and LinkedIn. 这是我所拥有的: %fo
有没有办法在 HAML 中实现这一点? Lorem ipsumdolor 我使用了这个在线工具conversor( http://html2haml.heroku.com/ ) %h1 Lorem
我使用 Haml 作为布局原型(prototype)设计的快速方法。这没有使用 Rails、Sinatra 或任何框架。 我想要做的是在顶部声明一个变量,并能够在整个页面中调用它,类似于我在 Sass
如果我在 HAML 中创建一个 XML 元素: %tag{:b => "b", :a => "a"} 我得到这个输出: 是否可以在 HAML 中保持属性的顺序? 我需要这个客户端代码以特定顺序显示值
我开始使用 Vue.js事件处理程序需要冒号,有时需要点: 或 但是 HAML 中的那些中断: %div{ v: { on:click: 'doSomething' } } 加倍加点:%div{ v
我正在为我们的 rails 3.1 应用程序切换到 Haml,我想知道 'haml-rails' gem 相对于 'haml' 带来了什么> 独自一人,除了 rails generators? 它说它
我正在尝试为我正在编写的某些文档突出显示一些代码语法,我正在使用 HAML 和 Highlight.js这将适用于这样的一行 Ruby 代码(尽管突出显示不是很好): %pre %co
我需要在元素的属性内使用一些 Handlebars 块助手。我怎样才能得到 .some.class{:class => "{{if property}} otherClass {{/if}}"} 正确
在我正在开发的一个简单网站中,我有一个目录 haml和一个目录 pages . haml 文件夹包含我处理的 .haml 文件,pages 文件夹包含我转换后的 .html 文件。 我知道我可以通过执
我知道这是一个非常不标准的用例,但我正在链接 HAML、Markdown 和 Handlebars(在 SproutCore 2.0 中),而且我离“漂亮”代码只有一步之遥。混合 HAML、Markd
为了让 rails 生成器创建带有 haml 的 View ,我遇到了两个答案,而且两者似乎都有效。哪个更好? 选项1: 在 gemfile 中声明 'haml' 并执行 config.gener
我正在尝试使用 datetime_field在我看来,来自 Rails 4。 = f.datetime_field :scheduled_at 我希望能像 JQuery 那样弹出漂亮的弹出窗口 her
为了我使用 formtastic,看起来我需要这个作为我的 html 标签: 我如何在 HAML 中执行此操作? 最佳答案 与添加attributes to any other tag的方式相同在
我是一名优秀的程序员,十分优秀!