Haml的 - 如何强制标签属性只使用双引号和如何订购标签的属性我想要的方式?
-
12-09-2019 - |
题
我用staticmatic为我用PHP以后使用模板。有一个奇怪的情况:一些标签属性具有单引号,而一些有双引号。我想他们都具有专门双引号(不是说有什么关系我想,但我希望他们这样的!)
例如,HAML代码:
!!! XML
%html{html_attrs('hr-HR')}
%head
%title Some title
%meta{'http-equiv' => 'Content-Type', :content => 'text/html; charset=utf-8'}/
%meta{'name' => "description", :content => 'Some title - YO!'}/
= stylesheets
= javascripts('test', :other)
%body
= yield
产生以下:
<?xml version='1.0' encoding='utf-8' ?>
<html lang='hr-HR' xml:lang='hr-HR' xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>Some title</title>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type' />
<meta content='Some title - YO!' name='description' />
<link href="stylesheets/application.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/grid.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/text.css" media="all" rel="stylesheet" type="text/css"/>
<script language="javascript" src="javascripts/test.js" type="text/javascript"></script><script language="javascript" src="javascripts/other.js" type="text/javascript"></script>
</head>
<body>
<h1>some body stuff!</h1>
utf test šđčćž ŠĐČĆŽ
</body>
</html>
请注意,如果我使用单引号或HAML代码双引号也没关系,我总是得到相同的输出!
此外,似乎haml-> HTML输出各种各样的标签属性按字母顺序排列,而不是我在HAML命令他们的方式。我怀疑这是与红宝石数组,但我不知道,因为我不/不能分开的staticmatic使用Ruby的HAML。我怎么会命令他们一样我在HAML代码红宝石阵列命令他们?
解决方案
尝试以下方法:
Haml::Template.options[:attr_wrapper] = '"'
其他提示
Haml的确实不按字母顺序属性,这确实是Ruby的语法分析器的结果。在未来,属性可以在文档顺序进行排序尽可能的,但是这不太可能发生,直到Haml的2.2或更高版本。
这引用: http://haml.info/docs/yardoc/file .REFERENCE.html#选项
Haml的理解,影响各种配置选项其 性能和输出。
在Rails中,选项可以通过设置
Haml::Template.options
设置 散列在一个初始化:
# config/initializers/haml.rb
Haml::Template.options[:format] = :html5
外导轨,则可以通过在全局
Haml::Options.defaults
配置它们设置它们:Haml::Options.defaults[:format] = :html5
最后,还可以通过使一个选项散列来设置他们[<强> Haml的::机#初始化强>] [1]。对于 可用选项的完整列表,请参见[的 Haml的::选项] [2]。
[1]: http://haml.info/docs/yardoc/Haml/Engine.html #初始化-instance_method