jekyll 的问题

考虑良久,决定将 Blog 迁移到 hexo。整个过程比想象的简单很多,也看了下二者的异同。相对于来讲,我觉得 hexo 在设计上比 jekyll 更为优良一些,更适合作为一个静态博客生成器。
那么,jekyll 的问题在哪?

目录结构#

jekyll 的目录结构是 posts/themes/settings 等杂糅在一起,初看起来更好理解,但使用起来是很痛苦的。尤其是在更换 theme 的时候,需要小心翼翼地甄别哪些目录需要更换而哪些不需要。而 hexo 的目录结构更加清晰,每个 themes 的内容都包含在一个单独的目录中,与其他部分互不干扰。想要更换 theme 直接 clone 一个新的改一个配置参数即可。

更换 theme 的次数越多,jekyll 的目录结构会越来越乱,分不清哪些文件是当前必须的。而 hexo 没这个问题。

默认主题#

jekyll 没有默认主题。或者说有,但大家不这样用。通常的用法都是找一个现成的第三方 blog clone 下来,然后按自己的需求改。这样有个问题就是,总会有一种不适配的感觉。因为主题都是别人为自己的使用配置的。而 hexo 提供了默认的主题,它是这个软件自带的一部分,是理所应当的属于我们自身的。而且这个默认的主题已经足够好用,同时第三方的next主题也占据了相当大的份额。不是说选择少,而是在 hexo 上能够更快地完成theme配置这一环而专注于内容。

功能#

jekyll 各个 theme 的功能丰富程度差别很大,分页、评论、TAG 等等。不同主题想要添加新功能的方式不同,遇到问题处理的简易程度也不一样。而这种情况也往往导致用户会选择更换主题,然后继续恶性循环。hexo 的默认主题提供了对大多数常用功能的支持,而扩充起来也比较方便,不同主题在这块的差别也比较小。

内容发布#

这块 jekyll 完全没做,必须得自己手动创建 md,添加头部的 attribute,之前还借鉴了其他人的 shell 脚本来根据模板自动生成这些内容。而 hexo 提供了new命令来创建新的 post,自动补上头部的内容,这样学习成本基本上就只剩 markdown 了。

目前静态博客软件的内容发布还是太偏程序员化了,可以参考 wordpress 的地方还有很多。目前已经有一些 admin 页面的项目流行起来,但还没有达到能让普通用户无学习成本使用的程度。

其他#

目前静态博客的分化是好事,但有点像 linux distros 那样,最终也带来了很多恶性循环。大家不关注易用性去普及用户,而更关注彼此设计理念的不同。一堆程序员圈地自嗨,最终可能只是落得自娱自乐罢了。