优化和压缩HTML

优化和压缩HTML

问题描述:

我有一些手工制作的网页。在部署它们时,我想通过一个工具来运行它们,以便创建新的更小的HTML文件,并取出无关的空格等。优化和压缩HTML

我们已经在使用YUICompressor作为我们的Javascript和我们的CSS,并且我们倾向于关注所有雅虎表现团队描述的技术。

是否有一个良好的,免费的工具,做到这一点?我更喜欢类似于YUICompressor的适合我们部署过程的工具。

+2

雅虎的性能告诉你gzip,你知道:http://developer.yahoo.com/performance/rules.html#gzip – 2010-02-16 11:35:59

+0

@Valentin - 我读了这个问题(之前它被罗杰编辑)为“我”我已经gzipping,我正在寻找其他的事情,我可以先做“ – Quentin 2010-02-16 11:42:40

HTML Tidy做这项工作。

我用我生成(一个相当大的一个)一个文档以下。这为后gzip大小节省了大约10%。

tidy -c -omit -ashtml -utf8 --doctype strict \ 
    --drop-proprietary-attributes yes --output-bom no \ 
    --wrap 0 source.html > target.html 
  • -c - 更换盈余表现标签和属性
  • -omit - 删除可选的结束标记
  • -ashtml - 使用HTML而不是XHTML(HTML是精简和XHTML大多数用例提供任何好处)
  • -utf8 - 所以我们不必使用字符集外的字符实体(实体更多的字节)
  • --doctype strict - 使用严格的(再次,精简)
  • --drop-proprietary-attributes yes - 摆脱专有垃圾
  • --output-bom no的 - BOM表会导致一些客户
  • --wrap 0问题 - 有很长的线
+0

非常感谢。我会研究这一点。 对于我的好处(以及可能的一些读者的),你能解释一下各个选项的含义传递 再次感谢 – 2010-02-16 11:42:30

普通老式minify会如果你愿意,还会攻击你的HTML。

但HTML微小不是,一般,巨大的效益:

  • 到一个空白的以运行不会做那么多。如果您已经使用gzip /放气,那将是非常有效地压缩空白。您无法删除所有空格,因为单个空格通常可能会影响渲染,因此需要保留空格。

  • 以评论了可能有效果,这取决于你实际上有多少评论内容。但是你必须小心,不要打条件评论。

  • 除此之外,HTML文档中没有太多可以“缩小”的东西。显然下来包装的变量名,以最短的字符串的JS想法是不适用的。

  • 用正则表达式完成所有这些工作,就像大多数minifiers所做的那样,有点不妥。你必须坚持一个有限的'正常'范围的标记,不会将其绊倒。

随着HTML缩小你通常越来越少增益(和更少的gzip后的收益),比JS/CSS缩小,并为动态生成的页面你有更多的开销(因为你不能预先缩小他们喜欢用静态脚本/样式)。一些模板语言可能已经具有用于在生成时修整空白的内置功能;如果您的环境中可用,请使用它。

+0

1. 说完看着缩小。它看起来并不适合这项工作。它更像是一种将css和javascripts连接起来的工具。 2.正如我所说的我们的HTML是手工制作的,他们有丰富的注释和空格。 他们看起来有点像这样: ...

我们肯定可以仅仅通过在部署减少它们的大小收获不少。 – 2010-02-16 11:52:40