我为什么选择Hexo建站

Posted by 咖啡狼 on 2019-07-03

选择一个框架,或者一项技术,或者一个人,都是有理由的。那么我选Hexo的理由如下:

静态

网站静态化应该算是一个趋势吧,很多动态建站的框架,都提供静态或者伪静态的技术。原因无他,主要还是向搜索引擎低头。
另外静态化网站可以更好利用缓存技术减轻服务器的压力。大家比较熟悉的wordpress就是Php版本的博客系统,用户非常得多。我也折腾过一段时间,他的优点和缺点都是很明显。先说优点:
1. 部署足够简单
2. 社群成熟
3. 功能完备

缺点是
1. 需要php服务器和mysql服务器
这两个缺一不可,银子拿来。
2. 臃肿
随着产品不断迭代,功能日益丰富,冗余是任何软件不得不面对的问题。
3. 耗资源 (相对)
这个好理解,因为php运行在服务器端,另外还有缓存,静态等插件。
对一个我这样只是想做一个博客的博主来说,我必须会PHP,还得购置PHP服务器,然后开始折腾优化,静态化,缓存等。。。
何苦呢?
为什么不直接静态呢? 这样我不用学习PHP,也不用买PHP服务器,也不用MySql服务器,我可以免费部署在很多提供静态网站服务的网站上,比如github pages,qiniu, coding等等。。
经过几番搜索比较,找到了Hexo…

这里并不是说动态网站就不好,基于安全等原因,动态网站仍然是首选。

基于NODEJS

确定静态框架的方案以后,才发现早有大神们在此耕耘。很多优秀的静态框架,比如:

jekyll

跟github pages绑定的框架,因为是python写的,所以我学起来就没那么快。鼓捣了一段时间,没搞出什么名堂,最后放弃。

vuepress

这个是Vue生态下的框架,当时好像不太成熟,社区还不完善。所以没选。再说,vue我也不熟悉。

hexo

选择Hexo, 主要是因为他基于NODEJS。我对NODEJS有偏爱,虽然我并没有在这上面有很多的技术储备,纯粹是出于直觉或偏见。我觉得以后所有跟终端用户打交道的应用,都是JS的天下。

还有很多其他框架,不一一列出。
下面主要说说Hexo的优点。

足够简单

熟悉nodejs的同学,安装使用Hexo再简单不过。

1
$ npm install -g hexo-cli

然后就可以

1
2
3
4
hexo init your_blog
cd your_blog
npm install //cnpm 如果下载有问题
hexo s

片刻后,打开你的浏览器,访问你的本地博客吧。忘记wampserver吧 :)
想要深入的同学,可以去看Hexo的代码,主要是JS, 对于前端开发的同学,理解起来也没有任何障碍。

部署到服务器

如何生成静态文件?

1
hexo  g

静态文件会生成到public目录,ftp到服务器就可以了。
而且,有插件支持直接ftp到你的服务器。这个以后再讲。

足够稳定

Hexo 大概已经有五到六年的时间,社群不断壮大,目前在github上也已经获得了27000+星。
性能和稳定性对于个人小站已经满足需要。如果是有几千几万篇博客的博主,生成过程可能比较耗时。
这个目前还没有权威测试过。

足够灵活

Hexo支持强大的主题和插件系统。

主题

主题决定了网站最终的样子。Hexo内建 Swig 模板引擎,同时可以支持 EJS、Haml 或 Jade,Hexo 根据模板文件的扩展名来决定所使用的模板引擎,例如:

1
2
layout.ejs   - 使用 EJS
layout.swig - 使用 Swig

插件

插件的设计主要借鉴了wordpress系统。目前官网上呈现的主题有200+ ,插件200+.
这些数据跟Wordpress还没法比,但是未来可期。后面我会陆续介绍如何自己定制Hexo主题,以及定制Hexo插件的内容。
敬请关注。





AD