Upgrade to Octopress 2.0
0. 前言
最近在看Octopress的代码,然后想想可能Octopress要更新了。于是手贱了一下,把整个Octopress重新更新了一下。然后整个blog乱成一团了。所以说千万别更新,更新之前一定要git push保存一下进度。如果真的更新挂了,就再rollback.
1. fix bugs
- Could not find fast-stemmer-1.0.1 in any of the sources
首先将 rubygems中的https://rubygems.org修改为 http://rubygems.org/, 这样就可以下载到fast-stemmer-1.0.1.
- Could not find sass-3.2.9 in any of the sources
再将http://rubygems.org修改为 https://rubygems.org/ 发现这个东西被封了。所以需要使用代理:
export http_proxy=http://username:[email protected]:[your_proxy_port]
- Let’s Go on. An error occured while installing rdiscount (2.0.7.3), and Bundler cannot continue. Make sure that
gem install rdiscount -v '2.0.7.3'
succeeds before bundling.
这个要用ruby 1.9.3来解决。那么来安装ruby 1.9.3吧。
rvm install 1.9.3
修改.rvmrc
修改.rvmrc使用的ruby版本。 rvm use 1.9.3
当然可以退出该目录重新进入一遍。
-
继续走…发现ruby中的问题
/home/chico/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/uri/common.rb:304:in `escape': undefined method `gsub' for 2012:Fixnum (NoMethodError) from /home/chico/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/uri/common.rb:623:in `escape'
这个问题是之前的markdown脚本,现在解析的有问题。有些不兼容了。解决方法是在plugins/sitemap_generator.rb中把post.name打印出来,然后看最后是在哪个文件中卡死了。然后就修改那个文件的markdown文件。
-
然后终于把Octopress启动起来了。内牛满面呀!然后就发现页面全乱了…
然后借小Y之力修改了css.然后就好了。当然你们没有小Y. 下面是那段修改的css. 修改sass/base/_layout.scss#content { @extend .group; - overflow: visible; - margin-right: $sidebar-width-medium; + overflow: hidden; + margin-right: 0px!important; + padding-right: 240px; position: relative; .no-sidebar & { margin-right: 0; border-right: 0; }
2. 最终页面
新的页面是长这样子的:
旧的页面是这样子的:
因为那个收缩的tab是关联js的。所以该起来还是很困难。
3. 结论
不要因为出了新版本就手贱去更新。否则修改更新问题时,贱手就废掉了。
最后一句话: F**K Octopress 2.0 !!