Hexo 基本使用

当我们利用 Hexo + Github Page 部署 Blog 之后,在更新博客时,需要常常用到 hexo 命令,故在这里集中整理一下

Hexo 官方也出了中英文的教程文档,如有需要,可自行前去学习

  • Links:

    • zh-CN:文档 | Hexo
    • en-US:Documentation | Hexo

1. 构建网站

这里省去了如何安装 Hexo ,以下默认是在你安装好 Hexo 及其一堆的依赖之后可能用到的命令

因为是需要部署到 Github ,故这里默认是安装了 Git ,故我们在 Git Bash 中进行操作

1
2
3
4
5
## 首先需要进入到需要创建 Blog 的工作目录,之后右键 Git Bash Here
cd <root>/work_dir ## 进入工作目录
hexo init <blog_name> ## 创建 Blog 初始目录
cd <blog_name> ## 进入博客同级目录
npm install ## 安装对应所需的依赖

安装好之后呢,就会出现以下文件结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ tree -L 1
.
|-- _config.landscape.yml ## 好像没什么用
|-- _config.yml ## 构建网站的配置文件,在需要对网站进行全局修改时,就得编辑这个文件
|-- node_modules ## 依赖
|-- package-lock.json ## 你安装程序的基本信息,包括版本号等
|-- package.json ## 同上
|-- scaffolds ## 模板文件,这里可以编辑创建新 md 时套用的文件模板,后面也会详细提及
|-- source ## 存放用户资源的地方,创建的 md 也在这里
`-- themes ## 主题,Hexo 会根据这里的主题来生成静态页面 html

4 directories, 4 files

要想套用模板的网页内容都是自己的,则需要耐心修改 _config.yml 文件内的配置项,详细后期再整理

2. 常用命令

init

上面我们提到的创建博客工作目录所用到的命令。

1
2
hexo init <folder>
## 如未设置 folder ,则默认在当前目录下创建网站

new

当我们需要给创建好的博客添加新文章时,则需要用到 new

1
2
3
4
5
6
7
8
hexo new [layout] <title>
## 或者, new 可以缩写成 n
hexo n [layout] <title>

参数 描述
-p, --path 自定义新文章的路径
-r, --replace 如果存在同名文章,将其替换
-s, --slug 文章的 Slug,作为新文章的文件名和发布后的 URL

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

而这里的 [layout] 参数就是我们上面谈到的 scaffolds 文件内的模板文件,默认是有三个模板,分别是:

1
2
3
4
5
6
|-- scaffolds
| |-- draft.md
| |-- page.md
| `-- post.md

## 在用作 hexo new 参数时,只需要文件名,即去掉后面的 .md

draft 是草稿模板,创建路径:<root>/source/_drafts,当然也可以在 _config.yml 文件中设置自己想要的默认模板,page 参数则是在 source 文件夹下创建一个独立页面,如:

1
2
hexo new page --path about/me "About me"
## 以上命令会创建一个 source/about/me.md 文件,同时 Front Matter 中的 title 为 "About me"

post 参数则是在 <root>/source/_posts 目录下创建文章。

当然,你也可以自己创建常用的模板,则只需要在文件夹 scaffold 下创建对应的 template.md 即可,只需要编辑 Front-matter 内容。

generate

生成静态文件,为网站发布做准备

1
2
3
hexo generate
## 或者
hexo g
选项 描述
-d, --deploy 文件生成后立即部署网站
-w, --watch 监视文件变动
-b, --bail 生成过程中如果发生任何未处理的异常则抛出异常
-f, --force 强制重新生成文件 Hexo 引入了差分机制,如果 public 目录存在,那么 hexo g 只会重新生成改动的文件。 使用该参数的效果接近 hexo clean && hexo generate
-c, --concurrency 最大同时生成文件的数量,默认无限制

publish

发表草稿;当我们利用 hexo new draft <title> 创建文件时,其实是创建了一个草稿文件,而草稿默认是不会显示在页面中的,如果需要显示,则需要利用 publish 命令进行发表。

1
hexo publish [layout] <filename>

server

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

1
2
3
hexo server
## 或者
hexo s
选项 描述
-p, --port 重设端口
-s, --static 只使用静态文件
-l, --log 启动日记记录,使用覆盖记录格式

deploy

部署网站,向 _config.yml 文件中配置的 Github 地址上传网站的静态文件(由 hexo g 生成)

1
2
3
hexo deploy
## 或者
hexo d
参数 描述
-g, --generate 部署之前预先生成静态文件

render

渲染文件。

1
hexo render <file1> [file2] ...
参数 描述
-o, --output 设置输出路径

migrate

从其他博客系统 迁移内容

1
hexo migrate <type>

clean

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

1
2
3
hexo clean
## 或者
hexo c

list

列出网站资料。

1
hexo list <type>