我对稍后在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中的排序方式。我怀疑这与ruby数组有关,但我不确定,因为除了在staticmatic中使用haml,我不能/不能使用Ruby。我怎样才能让它们的排序与我在haml代码中的ruby数组中的排序一样呢?
发布于 2009-06-08 21:12:24
尝试以下操作:
Haml::Template.options[:attr_wrapper] = '"'
发布于 2009-06-09 04:48:53
Haml确实按字母顺序对属性进行了排序,这确实是Ruby解析器的结果。将来,属性可能会尽可能按文档顺序排序,但这不太可能在Haml 2.2或更高版本之前发生。
https://stackoverflow.com/questions/967039
复制相似问题