2010-03-04 106 views
3

有沒有一種方法來指定HTML標籤周圍的「漂亮打印」式格式?我希望能夠把HTML塊之間的空白,所以這樣的:HAML中的標籤之間的空白空間

<!-- container --> 
<div id='container'> 
</div> 
<!-- footer --> 
<div id="footer"> 
</div> 
<!-- analytics --> 
... 

...轉換爲這樣的:

<!-- container --> 
<div id='container'> 
</div> 


<!-- footer --> 
<div id="footer"> 
</div> 


<!-- analytics --> 
... 

我知道你可以做到/意見,是有什麼像標籤之間的空白那樣?也許是這樣的

/ container 
#container 
\ 
\ 
/footer 
#footer 
:s 
:s 
/analytics 

\:s可以自定義過濾器?

甚至像= space(10) 10個換行符?或者,甚至可能是~本身,但不起作用。

+0

我對這個個人的看法是那生成的HTML不適合人閱讀,但對於機器來說,空白不應該有任何區別。爲了調試文檔結構,Firebug/Web Inspector類型工具更加有用,特別是對於HAML,您無需擔心生成的HTML的有效性。因此,爲什麼要擔心呢?正如我所說,這是國際海事組織,並沒有回答你的問題...... :) – deceze 2010-03-04 04:26:24

回答

5
#container 
- haml_concat("\n" * 5) 
#footer 

haml_concat輔助直接串接文本到輸出緩衝器,而無需任何種類的預處理。

+0

它是!謝謝 :) – 2010-03-04 09:43:14

1

可以evaluate Ruby block插入額外的換行符:

.main 
    .container 
    %p Something 

    ~ "\n" * 5 

    .footer 
    %p Footer 

這也採用~ - whitespace preservation

+0

我試圖,但它並不實際輸出標籤之間的5行HTML,只是1:/。目前你必須在每一行都有5〜1個,這使得一切都變得模糊不清。 – 2010-03-04 05:18:40

0
\#container 
= ('< br />'*5).html_safe 

\#footer