我将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-&gt; html输出按字母顺序排序标记属性,而不是我在haml中对它们进行排序的方式。我怀疑这与ruby数组有关,但我不确定,因为我不能/不能使用Ruby而不是静态的haml。我怎么能按照我在haml代码中用ruby数组命令它们的顺序排序呢?
答案 0 :(得分:29)
尝试以下方法:
Haml::Template.options[:attr_wrapper] = '"'
答案 1 :(得分:2)
Haml确实按字母顺序排序属性,这确实是Ruby解析器的结果。将来,属性可能会按文档顺序排序,但在Haml 2.2或更高版本之前不太可能发生。
答案 2 :(得分:0)
引自:http://haml.info/docs/yardoc/file.REFERENCE.html#options
Haml了解影响其的各种配置选项 表现和产出。
在Rails中,可以通过设置
Haml::Template.options
来设置选项 初始化器中的哈希:
# config/initializers/haml.rb
Haml::Template.options[:format] = :html5
外部Rails,您可以通过在
Haml::Options.defaults
中全局配置它们来设置它们:Haml::Options.defaults[:format] = :html5
最后,您还可以通过将选项哈希传递给[ Haml :: Engine#initialize ] [1]来设置它们。对于 完整的可用选项列表,请参阅[ Haml ::选项] [2]。
[1]: http://haml.info/docs/yardoc/Haml/Engine.html#initialize-instance_method