春节期间有一点点空余时间,于是很无聊的又折腾了一下这个空间,从Wordpress迁移到了Hexo。

主要的缘由就是考虑到租用的服务器上随着运行网站的增多,有限的资源越发显得紧张;而这个Blog纯粹自娱自乐可有可无的,Wordpress也越来越臃肿不堪,所以考虑优化一下资源使用;另外还有一个原因就是逐步切换用Markdown来进行写字,Wordpress对Markdown的支持也不够好,于是将Wordpress迁移到基于Node.js实现的静态Blog程序Hexo上。

安装配置

Hexo的安装配置过程非常简单,官方的文档也非常清楚。基本步骤就是安装Git、安装NVM和Node.js,然后* “npm install -g hexo”; “hexo init “*,然后进入到指定目录下,运行命令*“hexo generate”*,之后会生成几个目录,其中public目录下是编译完成的静态blog文件;source下是文章目录。全局配置文件储存于网站根目录下的_config.yml文件,编辑配置站点名,固定链接等诸多设定。** 需要注意的是配置文件“:”之后必须有空格,缺少空格会报错。**

Hexo提供丰富的插件以及主题。安装方法也非常简单:*“npm install - -save”; “git clone repository themes/theme-name”*。无论是插件还是主题在安装后都需要在根目录下_config.yml中修改plugins和theme的值以启用他们。

WordPress数据迁移
  1. 安装hexo Wordpress迁移插件:* “npm install hexo-migrator-wordpress”*
  2. 在wordpress的后台:工具->导出->文章->wordpress.xml
  3. 运行hexo migrate wordpress /path,如果xml文件放在根目录下则输入:“hexo migrate wordpress /wordpress.xml”

done!

文章自动发布配置

Hexo虽然在服务器上搭建配置完成了,但每次登录到服务器上写字显然不现实,本地编辑之后每次要手动上传服务器执行hexo generate生成静态文件再扔给Nginx驱动也太累了,因此需要能够自动同步和发布才行。目前看自动同步以下有几种实现思路: 1. 本地hexo生成静态文件后利用rsync或者dropbox上传服务器:这种方法上传同步倒是简单,但如果每台本地环境都要部署一套hexo显然不够方便,放弃; 2. 本地文章dropbox同步到服务器,然后利用incrond检测文件变化自动调用脚本生成静态文件部署:这种方式可行,不过折腾了半天incrond脚本调用总是有问题,且服务器上需要额外跑一个incrond服务,也不够经济高效,最终也放弃了; 3. 本地文件利用Git push到服务器;服务器端通过Git hooks在更新之后调用脚本自动生成静态文件,部署到Nginx。这样不但解决了自动更新和自动发布的问题,而且顺便也实现了笔记的版本管理和备份。有个小问题就是每台笔记本上都要有git,不过好在反正也需要,不算多大的额外工作。这样最终的工作方式就是本地编辑文件后git push到服务器,剩下的就自动OK了。

后记

这个空间回头看看竟已有7年的光景,期间种种原因事实上已几近荒废。之所以还保留着也就是为了当初自己心里的一份承诺,维持一种形式上的存在罢了,其实已经没有太大的意义。而到了这“七年之痒”的时候,我也不知道还能坚持多久;再有就是一路下来可能花在工具和瞎折腾上的时间比写字的时间都要多,也偏离了初衷和本意。因此这算是最后一次折腾,能写字就在这个壳里安安静静的写写字,不能写也就让它随风散落了吧。

毕竟,世间有什么能够抵得过时间呢……