各位看到这篇文章的时候,我其实已经迁移完博客了。(文章全部迁移完毕,部分文章图片不完整,我会稍后修复,另外评论只能稍后再迁移了。)

迁移博客跟软件做到一半改需求的心情是一样滴。。。一句话:

我真是太折腾了!

我最开始写博客在博客园,觉得不爽,想要自己的独立博客,于是我开始买空间和域名,用Wordpress来写博客. 后来,发现Wordpress用着不爽(具体原因稍后会讲),于是转到Octopress + Gihtub Pages + Vim + Markdown来写博客,感觉很不错,很有Geek的感觉(事实上用过的都知道). 博客地址请点击: 传送门。现在这个博客主要用来写英文的,后来,我转投Emacs阵营,于是就把Markdown替换成了Org,也洋洋洒洒写了好几篇E文。

不知道从哪一天开始,我想重新写中文博客了,毕竟我的博客还是有一些读者的,再加上我自己写英文效率也不高。于是我开始琢磨整个新的博客,我看到Coolshell很牛, 我也想成为那样的博主。于是我破天荒地注册了一个.cn的域名,并且整了一个VPS。因为心里想着哪一天能成为左耳朵耗子那样的博主,于是我又选择了Wordpress。

我真是太2了!

用了几个月后,我终于受不了Wordpress了。具体原因,请接着往下看,如果您已经用Wordpress写了很多文章了,那我的建议还是继续用Wordpress写吧,挺好的。如果你刚开始用Wordpress,或者打算选择Wordpress, 还是转投Octopress等静态博客吧。省心,舒心!

为什么要迁移博客

Wordpress太难用了

Wordpress不是以易用闻名的吗?确实也是,但是它不符合我这种Geek的口味。

  • Markdown支持太烂

Wordpress的Markdown支持太烂,我尝试过几个Markdown插件,最后都感觉很糟糕。因为我好不容易编辑完的文章,有时候莫名其妙的文章格式乱掉了,真让人抓狂。

  • 语法高亮太烂

这也许是我不会配置,试了几个语法高亮插件都不太好用。

  • 不能离线编辑文章

虽然有一些不错的第三方工具支持本地编辑完文章后同步到Wordpress站点,但是免费的大多数很烂,可以说根本不能用。

  • 上传图片方式太土

先插入图片,然后再填写图片地址,为了避免vps流量抗不住,还要配置CDN加速,总之,麻烦。(现在我用七牛的Qrsync命令行工具,配合Emacs自动化,具体方法请参考)

我想用Emacs来写博客

因为我现在的主要工作环境都在Emacs里面,写博客当然也自然会想到它。

由于我开始寻找Emacs + Wordpress的组合,因为之前肯定也有人用Emacs来写博客发到Wordpress,所以我很轻松地就寻找到了解决方案。一个是weblogger,另一个 是org2blog. 配置了半天后,尝试写博客效果却不是很理想(也许跟我的配置有关。。但是我不想多折腾了)

因为自己之前也一直在用Emacs + Octopress 写英文博客,相比较之下,我还是觉得Octopress更合适自己. 这是我放弃用了这么久的Wordpress最主要的原因.

我想博客文章放在Github上面

虽然文章保存在我自己的VPS的数据库中,虽然我每隔一段时间也会手动备份Wordpress并把它们上传至百度云上,但是始终觉得心里不踏实。也许我得了Git强迫症了,我现在的代码或者文档只要用Git仓库管理起来了, 我就心里很爽。

迁移过程

因为我的Wordpress里面的内容还不是很多,所以整个迁移过程还算顺利,不过也费了不少功夫。主要就是迁移文章和评论。

迁移文章

迁移文章,我使用的是exitwp。你看这名字,多霸气,直接退出Wordpress。用这个工具可以把从Wordpress导出来的xml文章全部导出成jeklly兼容的格式。惟一不爽的是,它导出来 的名字名称太烂,是一串看不懂的hash。另外,在使用这个工具之前,记得先用xmllint检查一下xml的有效性,这一点在刚刚的链接里面也有说明,这里就不再赘述了。

迁移评论

因为我之前的博客评论使用的是多说,而多说的评论是跟文章id关联起来的,目前我还没有找到好办法来自动迁移评论,后面只能手动迁移了。

迁移图片

这个只需要把以前博客的图片地址换成七牛图片的地址即可。

迁移心得

虽然迁移不算太难,但是也整整耗费了我大半天的时间,不过我想这是值得的,因为我现在终于用上我最熟悉的工具(Emacs)、语法(Markdown)和流程(Git)来写博客了。

现在我写博客的流程是:

  • 打开Emacs
  • 使用自定义命令创建一篇文章。
  • 编写文章,中间可以用到Emacs的拼写检查,自动补全,snippet。
  • 本地预览
  • Git push,然后服务器端VPS自动生成静态博客
  • Done(爽!)

这是我最后一次折腾博客了!