升级了jekyll到0.10.0,突然发现新版本的jekyll会自动删除_site目录里面的旧文件,比如说.git目录!这不是坑爹吗?我以前的那种用hook自动从_site目录里面push去heroku的方法于是就不好使了。

搜索了下,已经有了专门针对jekyll和heroku的gem,名字就叫做rack-jekyll,改几个地方,再从jekyll目录push了下,好了:

  • config.ru,如今是以Rack app的模式运行,而非Sinatra app了
    require 'rack/jekyll'

    run Rack::Jekyll.new
  • Gemfile,以前的.gems的方法已经过时
    source :rubygems
    gem rack-jekyll
  • 安装bundle
    bundle install
  • 编译站点
    jekyll
  • 推到heroku
    git add .
    git push heroku master

收工!一切都回来了。