之前的博客,是使用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 stable

可以输入 nvm 看下其常用的命令,通过 nvm install 10.15.1 安装指定的版本,通过 nvm ls 查看安装的版本列表。

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

如果遇到 node 版本问题可以参考 Nodejs Update leaves old version as current,直接输入 nvm 可以查看相应命令方法。

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

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

其他


参考: