新的博客已经使用了很长时间,回头一想,竟然未记录下任何东西,以至于当间隔两个月回来写篇文章要提交时出现了波折,甚至生成命令也忘的差不多了。果然是好记性不如烂笔头!

基于静态文件的博客引擎已经有很多了,譬如一开始我使用的 Liquidluck 。Liquidluck 提供了静态博客生成,提交 Github ,而且还提供了 Webhook 方式的接口,使生成的静态文件自动同步到 Github上。然而其最大的缺点是,未支持 Windows 系统。以前我只能 SSH 到 VPS 上进行各种操作,直接将静态文件生成到 Nginx 下,而与 Github 的同步功能则显得多余。

这一切直到遇到了 Hexo 框架才改变,而她却是一个台湾大学生使用 Node.js 编写的,心中不免产生无限敬意。

Hexo 框架使用 Github 的 page 服务,但是却并不像 Octopress 那样复杂,既需要懂得一些 Ruby 的知识,又需要一些繁琐的配置。使用 Hexo 框架你只需知道 Github 的 Page 服务,以及几个命令即可。下面就是本博客的创建过程,仅当自己以后方便,更详细的内容还是去查看官方文档吧。

1. 安装前的必备工作

Hexo 使用 node.js ,所以 安装 node.js 是必须的,此外还要有 Git 工具。

1.1 安装 Git

  • Linux (Ubuntu, Debian): sudo apt-get install git-core
  • Linux (Fedora, Red Hat, CentOS): sudo yum install git-core

1.2 安装 Node.js

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

或者

$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

最后安装 Node.js

$ nvm install 0.10

2. 安装 Hexo

$ npm install -g hexo

3. 配置 Hexo

使用以下命令生成静态博客所使用的所有文件:

$ hexo init <folder>

目录结构说明:

.
├── _config.yml // 全局配置文件
├── package.json  // 
├── scaffolds // 生成文件时的头格式
├── scripts
├── source 
|   ├── _drafts
|   └── _posts // Makedown文章
└── themes 

全局配置文件中提供了多种参数配置,包括站点信息,作者,个性化静态地址,标签,分类,高亮,甚至 Disqus 的评论,谷歌统计等。

4. 开始写文章

$ hexo new [layout] <title>
// [layout] 是指 scaffolds 中定义的格式
// <title> 是指文件名称

$ hexo generate
// 生成静态文件

$ hexo deploy
// 将静态文件上传到 Github 中