spaceless

使用 spaceless 过滤以删除空白 在HTML标记之间 ,而不是HTML标记中的空白或纯文本中的空白:

1
2
3
4
5
6
7
{{
    "<div>
        <strong>foo</strong>
    </div>
    "|spaceless }}

{# output will be <div><strong>foo</strong></div> #}

你可以结合 spacelessapply 标记对大量HTML应用转换:

1
2
3
4
5
6
7
{% apply spaceless %}
    <div>
        <strong>foo</strong>
    </div>
{% endapply %}

{# output will be <div><strong>foo</strong></div> #}

这个标记并不是为了“优化”生成的HTML内容的大小,而是为了避免HTML标记之间的额外空白,以避免在某些情况下浏览器呈现异常。

警告

由于过滤器在后台使用正则表达式,所以它的性能与所处理的文本大小直接相关(请记住,过滤器是在运行时执行的)。

小技巧

如果您想优化生成的HTML内容的大小,gzip压缩输出。

小技巧

如果您想创建一个标签,它实际上删除HTML字符串中的所有额外空白,请注意,这并不像看上去那么容易(想想 textareapre 例如标签)。使用像Tidy这样的第三方库可能是一个更好的主意。

小技巧

有关空白控件的详细信息,请阅读 dedicated section 了解如何在标记上使用空白控件修饰符。