Hello World

为什么搭博客

今天看到同学 Brotherb 搭了一个博客,感觉挺好玩的,点进去一看发现界面简洁干净,看着让人感觉很舒服。于是自己按照给的参考资料,再配合无所不能的Google也搭了一个,感觉很棒。博客的搭建很简单也基本顺利,主要是参考资料比较全,还有就是linux下安装软件比较方便,如果是Windows,估计又得折腾半天还不见得能搞定。ps:其实windows也很简单,我现在就是用的windows,之前纯属下意识的偏见。

为什么是hexo

WordPress以前用过,功能很全,大概是我所知道的博客中最全的了吧,里面可以安装一堆好玩的插件、主题,适合各种DIY。然而搭博客的目的应该是写博客,而用WordPress时感觉自己主要精力不在写博客上,而是在于怎么去折腾它,尝试各种主题安装各种插件,这就有点本末倒置了,所以后来折腾够了就再没有管过它了,因为精力都耗尽了(也可以说好奇心都耗尽了)。甚至当一段时间后放在BAE上的wordpress博客莫名其妙的不能用了,自己也懒得管了。并且wordpress后台管理系统的速度真心慢,查看它的源代码,发布一篇文章,调用几十个函数对这篇文章内容进行处理然后才能存入数据库,对于所使用的网络并不快的我来说感觉太笨重了。

Octorpress也试过,但不知怎么回事,安装的时候出了有点诡异的问题,然后去网上搜了下还是没解决,一怒之下就果断放弃了,这次我选择了不折腾。而Hexo就没这些蛋疼的问题,不仅指安装配置的过程,而且是界面风格。Hexo简洁的风格让人更关注内容,并且采用Markdown来书写文章。对于书写所使用的语法,Word的排版经常容易错乱且太复杂,用html的话一个个的标签输入起来又太麻烦,无格式的纯文本阅读起来又不方便,Markdown刚好在其之间找到了平衡点,优雅简洁、学习成本也低。关于Markdown的编辑器,可以在线使用 mdeditor 或者 stackedit,或者clone到本地使用,用这种网页编辑器还解决了跨平台的问题。关于Markdown推荐阅读 Markdown写作浅谈

不用数据库靠谱吗

管理方便

Hexo没有用到数据库,而是生成一些静态的html文件,以一定的目录树结构组织好。咋一看感觉有些别扭,网站怎么能没有数据库呢?纯HTML也太低端了吧?数据库是为了管理方便提出来的,现在不用感觉是历史在开倒车。其实不然,因为对于个人博客,一般写的文章并不多,就我而言,平均每周一两篇就足够了。这样算一年也才大概50-100篇文章,十年500-1000,hexo有足够能力组织好这些文件,对于这点规模的文章数量来说不用数据库也能很好的组织管理。

快速检索

以文件存储的另一个好处是方便检索,Linux下自带有有findgrep等命令,想要查找文件或文件的内容很方便,即使有点复杂的需要通常一个正则表达式就能搞定(当然,这主要适合程序员),检索的效率也是很高的。比较遗憾的是数据库是不支持正则表达式这个伟大的工具的。另外,需要添加、删除、移动某些文章的时候,直接去目录下增加、移动、删除源文件,或者复杂一些的需求可以配合grep等工具查找到特定的文件用shell命令增删改。需要按日期、名称排序也只需要在文件管理器中选择按日期或名称排序即可。

数据迁移及备份

数据的迁移备份也是经常会碰到的,比如更换了博客系统、数据库。如果使用数据库,就需要导出导入数据,可能还要转换格式。对于hexo这种直接以文本文件的方式存储数据的,只需要Ctrl+CCtrl+V就可以迁移备份数据了,并且无论程序软件如何升级变化,纯文本数据都能很容易被解析。而数据库则需要导入导出,或许还要考虑进去中文编码问题,以及不同数据库间导入导出的格式的兼容问题等等。所以,对于一年写不了几篇文章的小型个人博客,我觉得用数据库实在是「杀鸡用牛刀」,不值得也不推荐。

缺点

当然,任何东西都不是十全十美的,hexo也有缺点。比如没有像WordPress那样方便强大的管理页面,对单个文章,特别是文章的元数据诸如分类、标签等的修改没有那么方便。每次改完文章,都需要重新运行一遍生成静态的HTML然后提交到网上是有点麻烦,有时候可能仅仅就改一个文章的分类名,但是操作流程与新写一篇文章是差不多的。无后台管理,成也萧何,败也萧何。

还有就是对没有计算机相关基础的人来说,可能不大适合,上面提到的find、grep、正则表达式等都需要一定的计算机基础,所以是有一定的入门门槛的。

最后推荐下刘未鹏大神的 为什么你应该(从现在开始就)写博客,望与诸君共勉。