octopress试用之如何将博客从wordpress迁移到octopress

用了一年多的wordpress,看到很多人用静态网站,于是这几天折腾了下,试着把wordpress博客迁移到了octopress上。

wordpress是一个成熟的博客系统,有丰富的主题和插件,几分钟就能搭建出一个功能强大的博客网站。可是每次看到wordpress后台的编辑器,总让人写文章的兴趣大减。偶然看到了一篇介绍octopress的文章像黑客一样写文章,在初读MarkDown的语法后,我发现cotopress确实不错:一个简单的博客网站,使用记事本或者vim等文本编辑器,纯粹的写文章。

不必再操心程序如何运行;不必再纠结大同小异的模板;专注于自己的思考和措辞。

于是上周捣腾了两三个晚上,尝试把原来wordpress上的文章迁移到octopress上,稍微看了下css,修改了默认的主题。使用下来的感受是:

  • octopress也可以很简单的搭建出博客网站,但是提供的主题插件等肯定无法与wordpress媲美
  • 使用起来有些门槛。比如想自定义一些标签,排版等特性,需要了解css等前端的知识
  • 习惯之后,写作效率会提高很多。

随着使用octopress的人越来越多,我相信以后会越来越好用。


关于octopress的安装教程,网上有很多。我这里主要记录在Mac OSX 10.8.3上,将博客从wordpress迁移到octopress过程中的一些问题:

安装Xcode和brew

由于octopress是用ruby开发的,mac上需要安装ruby的环境,在安装过程中会依赖到gcc等库。

  • 建议mac上安装Xcode并升级到最新版。
  • 同时建议mac上安装包管理器Homebrew,它的功能类似与Ubuntu上的apt-get。

比如安装git只需要一行:

brew install git

还有在我安装过程中,提示openssl库没有,也是一行就搞定:

gem install bundler
ERROR:  Loading command: install (LoadError)
        cannot load such file -- openssl
ERROR:  While executing gem ... (NoMethodError)
        undefined method `invoke_with_build_args' for nil:NilClass
brew install openssl

安装步骤

详细的安装步骤网上很多了,我的安装过程基本就是这些命令:

转换文章格式

将wordpress博客上的文章转换为markdown格式,主要参考这篇:从wordpress到octopress

如果提示没有hpricot库,通过gem安装就可以了:

baoniu-MacBook-Air:myblog baoniu$ ruby -r "./utils/wordpressdotcom.rb" -e "Jekyll::WordpressDotCom.process"
/Users/baoniu/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- hpricot (LoadError)
        from /Users/baoniu/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
        from /Users/baoniu/Documents/work/myblog/utils/wordpressdotcom.rb:26:in `<top (required)>'
        from /Users/baoniu/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
        from /Users/baoniu/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
gem install hpricot

主题改造:导航栏,侧边栏,一键分享等

参考:http://shanewfx.github.com/blog/2012/08/13/improve-blog-theme/

相关文章插件

参考:http://techtinkering.com/2011/08/17/improving-related-posts-on-jekyll/

分类目录

参考:http://blog.eddie.com.tw/2011/12/05/add-catetories-to-sidebar-in-octopress/

让分类目录支持中文

参考:http://khaos.github.com/blog/2012/12/06/using-chinese-category-tags-in-octopress/

分类目录的修改主要是两个地方:

  • 每篇文章后面的类目,这个在octopress 2.0版本plugins/category_generator.rb里面已经使用了category.to_url将中文目录转换为对于的拼音
  • 其次是文章右侧的分类目录链接,我使用的分类目录插件是在plugins/category_list.rb,找到对应的地方加上to_url就可以了

标签云

参考:http://yang3wei.github.com/blog/2013/01/30/zhuan-zai-wei-octopress-tian-jia-biao-qian-yun/

文章末尾添加版权等信息

参考:http://blog.tinyxd.me/blog/2013/01/16/add-article-info-footer/

用到的css文件,添加到sass/partials/_blog.scss中:

.post-footer{margin-top:5px;padding:3px;background:none repeat scroll 0pt 0pt #eee;font-size:90%;color:gray}

绑定域名

主要参考Github官网的文章:https://help.github.com/articles/setting-up-a-custom-domain-with-pages

在Octopress/source目录下建个无后缀的CNAME文本文件,文件内容就是你的域名,例如flying5.info。

我的域名是在godaddy上申请的,使用DnsPod来进行管理。我在DnsPod上配置了如下两项,修改A纪录到207.97.227.245,和CNAME指向flying5.github.com:

主机记录 记录类型 线路类型 记录值
@   A   默认  207.97.227.245
www CNAME   默认  flying5.github.com.

现在不管是使用www.flying5.info还是flying5.info都可以访问了。

关联Mou写文章

Mou是Mac下的一款优秀且免费的所见即所得MarkDown文件编辑器。可以先将Mou与MarkDown文件格式关联,然后修改配置,使得每次新建文章的时候使用Mou自动打开,很方便。

可参考:http://imwuyu.me/talk-about/configuring-octopress.html/。当然,也可以用vim或者Sublime Text 2等编辑器与MarkDown关联。

发表评论

电子邮件地址不会被公开。 必填项已用*标注