之前的博客,是使用Jekyll搭建的,因为学过一些ruby,也会一些ruby on rails,所以对Jekyll有天生的好感,看不上wordpress、hexo之类的。不过后来当我看到了hexo的next主题时,被它的简洁所吸引,因此决定转向hexo,本文记录使用hexo构建博客的方法(PS;我只是一个搬运工,针对Linux用户而言)。

Hexo

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

Hexo安装

安装Hexo需要三步,需要安装以下三个部分:

  • Git
  • Node.js
  • Hexo

Git

下载地址

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

Node.js

安装Node.js的最佳方式是使用nvm

nvm安装的两种方式:

  • cURL: $ curl https://raw.github.com/creationix/nvm/master/install.sh | sh;
  • Wget: $ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh;

安装完成后,重启终端并执行下列命令即可安装 Node.js。($代表在当前普通用户下执行命令)

1
$ nvm install 4

当然也可以通过下载安装。

Hexo

所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。

1
$ npm install -g hexo-cli

到这里Hexo已经安装完毕了,下面讲一下如何使用。

Hexo使用

通过下列命令,Hexo会在指定文件夹中新建所需要的文件。

1
2
3
$ hexo init /home/matt/wangzzuBlog
$ cd /home/matt/wangzzuBlog
$ npm install

新建完成后,指定文件夹/home/matt/wangzzuBlog的目录如下:

1
2
3
4
5
6
7
8
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

_config.yml

它与Jekyll中的_config.yml功能类似,对博客网站进行一下配置。

package.json

这里面是安装的应用程序的信息,EJS, Stylus 和 Markdown renderer 已默认安装,我们可以自由移除。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"hexo": {
"version": ""
},
"dependencies": {
"hexo": "^3.0.0",
"hexo-generator-archive": "^0.1.0",
"hexo-generator-category": "^0.1.0",
"hexo-generator-index": "^0.1.0",
"hexo-generator-tag": "^0.1.0",
"hexo-renderer-ejs": "^0.1.0",
"hexo-renderer-stylus": "^0.2.0",
"hexo-renderer-marked": "^0.2.4",
"hexo-server": "^0.1.2"
}
}

source

资源文件夹是存放用户资源的地方。除 _posts文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。

themes

主题文件夹,Hexo会根据主题来生成静态页面。

Hexo配置

这里可以参考Hexo中文文档,这里讲述的非常详细。

Hexo命令

参考Hexo 指令

init

1
$ hexo init [folder]

新建一个网站。如果没有设置 folder ,Hexo 默认在目前的文件夹建立网站。

new

1
$ hexo new [layout] <title>

新建一篇文章。如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来。

草稿的使用:

1
2
$ hexo new draft "new draft" #新建草稿
$ hexo publish [layout] <title> #变成正式文章

generate

1
2
$ hexo generate
$ hexo g

生成静态文件。

选项 描述
-d, –deploy 文件生成后立即部署网站
-w, –watch 监视文件变动

publish

1
$ hexo publish [layout] <filename>

发表草稿。

server

1
2
$ hexo server
$ hexo server -p 4040

启动服务器。默认情况下,访问网址为: http://localhost:4000/。

选项 描述
-p, –port 重设端口
-s, –static 只使用静态文件
-l, –log 启动日记记录,使用覆盖记录格式

deploy

1
$ hexo deploy

部署网站。

参数 描述
-g, –generate 部署之前预先生成静态文件

render

1
$ hexo render <file1> [file2] ...

渲染文件。

参数 描述
-o, –output 设置输出路径

migrate

1
$ hexo migrate <type>

从其他博客系统 迁移内容。

clean

1
$ hexo clean

清除缓存文件 (db.json) 和已生成的静态文件 (public)。

list

1
$ hexo list <type>

列出网站资料。

version

1
$ hexo version

显示 Hexo 版本。

Next主题

Hexo博客的主题有很多种,可以参考Themes,个人比较喜欢Next主题,下面给出一些Next主题配置的一些资料,本文就不再详述了。

Jekyll迁移到Hexo

_posts 文件夹内的所有文件复制到 source/_posts 文件夹,并在 _config.yml 中修改 new_post_name 参数。

1
new_post_name: :year-:month-:day-:title.md

然后进行生成静态文件,部署网站即可。

其他


参考: