使用 Hexo 生成博客

Hexo介绍

官方网站一句话就了然了:A fast, simple & powerful blog framework, powered by Node.js.就是说:Hexo 是一个基于 Nodejs 快速的,简单的,强大的博客框架。

安装步骤

1)因为 Hexo 是基于 Nodejs,所以第一步是先安装 Nodejs。下载地址:
Nodejs官网

2)安装好Nodejs后,因为 Hexo 是 Nodejs 的一个软件包来的。所以要用 npg 来安装 Hexo:

1
2
3
4
npm install -g hexo
安装完毕后,检查是否安装:打开命令行(Windows下是 CMD,Linux下是Bash)运行以下命令:
hexo version

3)安装好之后,创建一个 Hexo 项目:打开终端,运行以下命令

1
2
3
4
5
C:\Users\Zhiyong Yang\Desktop\blog>hexo init blog
执行完毕之后,Node 会提示你运行 npm install 命令,如果没有执行这条命令,是运行不正常的。所以再执行:
cd blog
npm install

4)安装完之后,就可以启动 Hexo 的服务器了:

1
hexo server

这时,便可以打开 http://localhost:4000/ 来访问你的博客了。

5)Hexo 各目录说明

1
2
3
4
5
6
7
8
9
scaffolds 脚手架,也就是一个工具模板
scripts 写文件的js,扩展hexo的功能
source 存放博客正文内容
source/_drafts 草稿箱
source/_posts 文件箱,也就是正式显示在网站的文件
themes 存放皮肤的目录
themes/landscape 默认的皮肤
_config.yml 全局的配置文件
db.json 静态常量

写博客

1)进入你的项目目录的 source 目录的 _posts 目录。

2)使用命令来创建一个文件

1
2
hexo new hello-world
注意,hexo会自动在文件名后面添加上 .md 后缀的。所以,上面一条命令的结果就是生成一个 hello-world.md 的文件。

3)编辑文件。
首先文件的规范是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#这个表示文章的标题
title: 新的开始
#这个表示文章的创建时间
date: 2014-05-07 18:44:12
#这个表示文章的修改时间
updated : 2014-05-10 18:44:12
#这个表示在浏览器的 URL 中的替代名字,默认是 title。即访问URL心为 http://host/yyyy/mm/dd/abc/
permalink: abc
tags: #下面的表示是该文章所属的标签
- 标签1
- 标签2
- 标签3
categories: #下面的表示文章所属的目录
- 所属目录1
- 所属目录2
---

上传到 github pages

1)修改 hexo 项目目录里的 _config.yml 文件为自己相应的信息。比较重要的有:

1
2
3
4
5
6
7
8
9
10
11
# Site
title: PostgreSQL DBA 这个是你网站的全局标题
subtitle: Zhiyong Yang 这个是显示你的子标题
description: 这是你网站的描述
author: Zhiyong yang 作者
email: dreamers.yzy@gmail.com 邮箱
language: zh-CN 语言
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: https://dreamer-yzy.github.com 这里改为你的github pages 地址

2)注册一个github,然后 创建一个名为:你的用户名.github.io 的仓库

3)修改 hexo 项目目录里的 _config.yml 文件中的 deploy 配置为:

1
2
3
deploy:
type: github
repository: https://github.com/你的用户名/你的用户名.github.io.git

4)然后进入 你的 Hexo 项目根目录,执行以下命令:

1
2
hexo generate
hexo deploy

顺利执行完毕后,过几分钟,打开你的github pages地址就可以看到你写的博客了,比如我的:
PostgreSQL DBA