前几天看到 Nicholas C.Zakas 大师把自己的博客从 wordpress 迁移到了 jekyll,很巧的是我这几天也在干这件事情。不过我是迁移到 hexo,刚开始托管在 github,后来改到 gitcafe

之前我捯饬过很多博客系统,也喜欢了解各个博客系统的实现方式,并且自己写插件、写主题。由于最开始接触的一门 web 后端语言是 php,所以先折腾小而美的 wordpress,后来发现它并不小,一堆插件、一堆漏洞让这个系统变得臃肿,而翻开这些插件的源码,实在是不怎么样,系统的性能很大程度是被这些插件搞糟糕的。不过,让我放下 wordpress 的主要原因不是它的臃肿…我玩它的时候还是个学生,不想花钱购买空间和数据库,当时百度云还没有出来,SAE 的体验也比较差。

到”这里”之前

后来学会了使用 git,刚开始对 git 命令并不熟悉,记得在 github 上弄一个 ssh key 折腾了良久,最后不得不安装一个 windows 版本的 github 客户端,让客户端解决我 push 代码的难题。按照阮一峰写的一篇 关于如何使用 github pages 的文章,部署了一个博客

当我把 jekyll 的文档看完了之后(刚搜到有中文版的了,这年代啥玩意儿都有中文版…),又搞了一个清爽版本的博客,这个博客上我做了一个很方便连接,在页面中按下 Ctrl + Shift + Enter 或者在网址后面加上 ?edit 可以看到,每篇文章都有一个对应到这篇文章的 github 编辑地址,这样就可以完全放下本地工具,直接云端操作了。

Github Pages 玩熟之后,下一步要做的就是,抛弃它——程序员爱折腾。当然我并没有完全抛弃,http://hi.barretlee.com 这个网站也时有上去更新。不过现在它的内容已经被合并到本网站下了,后续便不会再光顾。Github Pages 上每次都要维护点、修改点内容,从本地到 github 再到我的网页上,整个流程显得有点长,太麻烦。

后来索性就入驻了博客平台,博客园,这一入就是两年多。博客园团队把写作体验和分享内容做到了极致,百度上随便搜一个技术性相关的知识点,都能看到博客园的身影。虽然 SEO 会把年老页面的权重提升,但是没有创新内容网站是活不下去的,我也在博客园平台上写了不少的文章,没想到的是也引来了一千多的粉丝。

还是买主机吧

一直想有一个个人网站,所有的内容都是自己支配,增加一个个性页面、博客后台换个语言、用用 websocket 等等,于是毕业之后自己买了一个主机,肆意倒腾。在主机上,重新回顾了 Linux 的操作(大学使用 windows/Linux),学习了 Nginx 的配置、Apache 的配置、负载均衡等等,也使用 NodeJS 搞了一个 websocket 的聊天室,当然,也少不了搭建一个博客系统。使用的是 Ghost,一个相当不错的博客平台,我非常喜欢它后台编辑博客的系统,支持 Markdown 并且很好的处理了图片的上传,体验很赞!同时也部署了一个 hexo 写写生活琐事,用的是官方一个比较简约的主题。感觉也一直挺好的。

可以一年下来,又到了续费的时间了。可是回头想想,我用这些资源都干了什么事情呢?除了刚买主机那会儿兴奋了一阵子,后边大半年都没上过那台机器。着实太浪费了!每年上千块(我买的是很低的配置),就是放几个很少更新的博客文章,所以再也没啥续费的动力了。

期间也用了 SAE 和 BAE,SAE 使用的云豆,买点云豆如果网站没啥流量,十块钱够用一两年。而 BAE 略坑一点,它计算的是你占用的服务器资源,根据一定的算法每个月将账单发到你的手机和邮箱,让你交钱,如果流量不大,每个月也就几十块,可以设置自动续费。不过,想想,其实 BAE 也挺坑的,一年下来收我几百块,虽然不多,但想着还是觉得没多大劲。

我又放弃了

于是我又开始了下一波的折腾。趁着阿里云主机到期之前的半个月,把散布在各处的博客整合下。也就是您现在看到的这个博客内容。简约、明了,风格上学习了简书的布局、设计上参考了阮一峰同学的博客。包括整合各处博客,格式化博客内容,编写主题,调试页面等,花了整整三天时间,够呛的!不过,按照之前玩转博客的时间情况,可以确定,这个设计和博客的部署至少会伴随我五到十年。

刚开始我把这个基于 hexo 构建的博客部署在 github 上,我在家里打开速度还过得去,2-3s,但是放到群里,让朋友们测试了下,有的喊出了 20s 的加载时间,这着实让我大吃一惊,果然 github 这种外国货还是不适合我们,于是在 阿安 的建议下,又将部署地址换到了 gitcafe。为了方便让 github 的用户顺利迁移到 gitcafe,gitcafe 的几乎就是一个 github 的复制品,包括创建 gitcafe pages,在仓库中弄一个 gitcafe-pages 的分支就行了。不过,说句良心话,gitcafe 的体验略好;)

静态博客,找地方托管

我想,找个地方托管静态博客,这将是我们博客最终的归属。阮一峰说写博客的人会经历三个阶段:

  • 第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写。
  • 第二阶段,发现免费空间限制太多,就自己购买域名和空间,搭建独立博客。
  • 第三阶段,觉得独立博客的管理太麻烦,最好在保留控制权的前提下,让别人来管,自己只负责写文章。

其实 博客园 就是第三阶段的实践平台,博客园中我看到了很多不错的博客版式设计,让人吃惊的是,这些版式的设计几乎没有任何限制,你完全可以天花乱坠的按照自己的风格搞设计,但前提你要懂点设计和 css。

不过我更希望有一个自己可以放开瞎捣鼓的地方。所以我选择 hexo/jekyll/wp,但是也希望别人来管理我的博客,所以选择了 github/gitcafe。如果你想拥有一个个人网站,你可以这么做:

  1. 注册一个 github 账户 abc
  2. 新建一个仓库 xxx
  3. 写一行代码 This is my blog.index.html, 提交到 gh-pages 分支
  4. 预览 http://abc.github.io/xxx,你会发现,你的个人网站已经搞好了

对于这种高效快捷的流程,加上 github 默认对 jekyll 的支持,让谁不想去尝试尝试呢?