由于最近公司上新项目,加班也比较紧,再加上换了个系统,原来的博客系统也没配置,所以博客也没怎么更新。
重新配置博客环境的时候,发现好多步骤也记不住,还是需要查一下资料的,所以就把过程记录一下。本博客讲了我如何在新的环境中搭建博客的写作环境,和如何备份、以及更换新的环境(电脑)后/多个环境切换下如何继续写作的。
安装
Hexo 的安装比较简单,官网的文档 也比较详尽。简单来说,首先安装Node.js。然后运行:
1 | $ npm install -g hexo-cli |
然后在合适的目录下创建博客项目:
1 | $ hexo init <folder> |
<folder>
为博客目录。如果手工建了博客目录,那就运行:
1 | $ cd <folder> |
使用 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 | $ cabal update |
即可成功安装。当然,过程中要等一段时间,要编译和安装依赖包。安装成功后,一定要在命令行测试 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 | $ git clone --recursive <blog repository> to folder |
此时,你的博客就OK了,运行 hexo s
看一看,是不是一切正常?
上面 clone 中的 --recursive
参数是因为我的博客主题是做为博客项目的子模块的。通过这个参数一次性 clone 下来。否则还需要运行如下命令:
1 | $ git submodule init |