Rails Knewone 和 writings.io 中 HTML 的压缩是如何实现的?

wppurking · 2013年04月12日 · 最后由 luikore 回复于 2013年04月29日 · 2855 次阅读

一般情况下看到的响应 HTML 内容会是(例如 Ruby-China)

而我在 knewone 和 writings.io 的请求中更多是看到

请问下面这种是使用了某些 gem 还是怎么呢?

共收到 14 条回复

https://github.com/huacnlee/quora/blob/master/app/helpers/application_helper.rb#L132

看这个文件的 spaceless 方法

def spaceless(&block)
  data = with_output_buffer(&block)
  data = data.gsub(/\n\s+/," ")
  data = data.gsub(/>\s+</,"> <")
  raw data
end

不过我倒是觉得这么做意义不大

此外,还有 Google 出的 ngx_pagespeed 可以实现这个功能:

https://github.com/pagespeed/ngx_pagespeed

应该可以写个方法把所有多余空格换行什么的替换掉

@huacnlee 原来如此! Thanks @jyz19880823 就是上面的 spaceless 哈哈

#4楼 @wppurking 用slim的话 自己会帮你压缩html ruby-china用的erb 所以就不行 我自己还写过一个haml的补丁 html标签部分可以去掉双引号 参考google主页 type=hidden name=safe 这样子的

#5楼 @zj0713001 其实我刚刚开始也是使用的 slim 但没有注意到这个压缩. 不过后面还是感觉 erb 交流起来更加顺手, 就又回到使用 erb 了 - -||

writings.io 用的 slim

好几百年前写过一个玩具... https://github.com/jasl/erb_minifier 不过实际意义真的不大,去掉换行符和多余空格最多减少几百字节 但是gzip一下可以压缩一倍。。。

asp.net里搞过,不过真不值当那cpu换这么点流量,真在乎流量,换用gbk编码都比这个来的省。

#9楼 @jasl 的确, 仔细想想, 如果仅仅是字符串空白, gzip 这些压缩算法已经会处理了.

#10楼 @huobazi 同意! 其实是我以为针对 html 有啥新压缩技巧了 呵呵.

#2楼 @huacnlee 已经安装测试了 地址:http://blog.linuxeye.com/318.html

图片压缩 大小减小差不多有30%~50% 、js css大小减少(空格去掉了) 更深的 有待测试

gzip 下就没什么区别了。

用 slim 就行, 生成出来的就是去空格的, 少一道压缩工序, 速度更快

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册