Hexo 安装、更新和更换电脑后重新配置

由于最近公司上新项目,加班也比较紧,再加上换了个系统,原来的博客系统也没配置,所以博客也没怎么更新。

重新配置博客环境的时候,发现好多步骤也记不住,还是需要查一下资料的,所以就把过程记录一下。本博客讲了我如何在新的环境中搭建博客的写作环境,和如何备份、以及更换新的环境(电脑)后/多个环境切换下如何继续写作的。

安装

Hexo 的安装比较简单,官网的文档 也比较详尽。简单来说,首先安装Node.js。然后运行:

1
$ npm install -g hexo-cli

然后在合适的目录下创建博客项目:

1
2
3
$ hexo init <folder>
$ cd <folder>
$ npm install

<folder> 为博客目录。如果手工建了博客目录,那就运行:

1
2
3
$ cd <folder>
$ hexo init
$ npm install

使用 pandoc 渲染

hexo 默认只支持基础的 markdown 渲染,所以一些更强大更实用的功能需要实用 pandoc 来渲染。

首先,安装 pandoc 按照官方说明中的说法,他们提供了各个平台的安装包,实际上写这篇文章的时候在 download page中最后两个 releases 中只有源码,老版本倒是有安装包。

pandoc 的安装遇到了几个问题,使用 releases 下载的源码安装会报 templates 中文件缺少的错误,实际上 这个文件夹是另一个项目 没有打包到 releases 中来。git clone 模板项目后,编译也没有成功,具体什么原因忘记了,为了方便我还是选择了直接使用 Haskell 平台 安装。

在 Win 平台下,直接使用安装包就可以。在 linux(此处 Ubuntu) 平台上,通过如下命令安装 Haskell:

1
$ sudo apt-get install cabal-install

这儿没有安装 haskell-platform 只是选择了它“子集” cabal-install
另外,记得安装后要把 ~/.cabal/bin 添加到 $PATH 中,否则后面通过 cabal install 安装的命令会提示 “command not found” 。

在安装了 Haskell 平台后,在命令行输入:

1
2
$ cabal update
$ cabal install pandoc

即可成功安装。当然,过程中要等一段时间,要编译和安装依赖包。安装成功后,一定要在命令行测试 pandoc --help 命令,验证pandoc的确安装成功。否则会在 hexo 渲染的时候报如下错误:

events.js:85
throw er; // Unhandled ‘error’ event
^
Error: spawn pandoc ENOENT
at exports._errnoException (util.js:746:11)
at Process.ChildProcess._handle.onexit (child_process.js:1053:32)
at child_process.js:1144:20
at process._tickCallback (node.js:355:11)

成功安装 pandoc 后,在博客项目的根目录安装 hexo-renderer-pandoc :

1
$ npm install hexo-renderer-pandoc --save

配置

hexo 的配置文件为在项目根目录下 _config.yml 是 YAML 格式的配置。

在这个配置文件中,你可以配置博客的标题、描述、作者邮箱、网站地址、链接格式等等各种东西。还可以配置一些插件、发布目录、使用的主题之类的。可能各个主题也有些不同的配置,除了主题的代码外,也有部分配置会放到这个配置文件中。

这个里面的配置项比较多,就不在这儿一一介绍了,配置的时候需要参考 官方的配置说明 和主题对应的配置说明。

安装主题

hexo 的主题可以在 http://hexo.io/themes/ 找到。但是这里太少了,写这篇博客的时候只有15个。在网上搜了一下,在 这儿 发现了更多的主题。不知道大家是在哪儿找的主题,如果有更好的地方请一定告诉我。

主题的安装可以参照你所使用的主题的说明。

写作

为了方便编辑、同步,实时预览,我使用 Cmd Markdown 进行在线编辑,完成后导出到 hexo 中。
Cmd Markdown 的使用就不在这儿讲了。在 hexo 中生成新的文章使用 `hexo new “post title” 命令,推荐修改一个自己常用的模板。

预览与发布

文章写完后要先在本地看一下效过。通过 hexo server -g 可本地浏览。
发布使用 hexo deploy -g。如果担心已生成的文件对发布的干扰可先执行 hexo clean

更新、

…………正在编辑中(重新配置误打误撞就更新了版本,并不算严格意义上的更新。所以就先欠着吧,等更新的时候再补上)。

更换环境

我的博客环境同样使用 git 进行管理,其实就是整个博客文件夹作为一个 git repository。其中包括了 博客的 config 、文章、主题等。

当更换一台机器的时候,基础的 git、node、hexo 等环境是必须要安装的。环境配置完成后只需如下:

1
2
3
$ git clone --recursive <blog repository> /path/to/blog/folder
$ cd /path/to/blog/folder
$ npm install

此时,你的博客就OK了,运行 hexo s 看一看,是不是一切正常?

上面 clone 中的 --recursive 参数是因为我的博客主题是做为博客项目的子模块的。通过这个参数一次性 clone 下来。否则还需要运行如下命令:

1
2
$ git submodule init
$ git submodule update --remote
谢谢鼓励