如何从HAML的预标记中删除不需要的缩进

时间:2010-01-03 04:29:46

标签: haml

我遇到问题<pre>,这是我的代码,截图见下方。如何删除缩进?

%pre.code
    :escaped
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html>
            <head></head>
            <body>
                <form>
                    <input type="text" name="empID" />
                    <input type="submit"/>      
                </form> 
            </body>
        </html>

2 个答案:

答案 0 :(得分:63)

您需要使用#preserve帮助器将pre中的换行符转换为换行符,如下所示:

%pre.code
    = preserve do
        :escaped
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            <html>
                <head></head>
                <body>
                    <form>
                        <input type="text" name="empID" />
                        <input type="submit"/>        
                    </form>   
                </body>
            </html>

将来,您将能够嵌套过滤器,因此您可以执行:preserve:escaped

答案 1 :(得分:2)

代表&#34; pre&#34;比如来自div或其他标签内的变量的文本,请使用

.text.plain= preserve(@mail.body.to_s)

与CSS&#34; white-space:pre-wrap;&#34;。使用单行版本,因为两行仍然会缩进第一行。

/ BAD: Will leave the first line incorrectly indented!
.text.plain
  = preserve(@mail.body.to_s)