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

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

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

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

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

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 就行,生成出来的就是去空格的,少一道压缩工序,速度更快

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