一、前言

HEXO 是一个快速、简洁且高效的静态博客框架,
基于 Node.js 运行,可以将我们撰写的 Markdown 文档解析渲染成静态的 HTML 网页。
本文整理了 HEXO 的配置以及美化相关过程,用于搭建静态博客网站。

二、环境配置

本文基于 macOS 搭建 HEXO 环境。

1. Node.js

参考官网安装说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash

# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"

# Download and install Node.js:
nvm install 24

# Verify the Node.js version:
node -v # Should print "v24.16.0".

# Verify npm version:
npm -v # Should print "11.13.0".

2. Git

Git 用于提交内容到 GitHub. 两种方法任选其一即可:

1
2
3
4
5
6
1、brew install git

2、sudo port install git

# 查看版本,验证是否安装成功
git --version

3. HEXO

当 Node.js 和 Git 都安装好后,就可以正式安装 Hexo 了,终端执行如下命令:

1
$ sudo npm install -g hexo

三、HEXO初始化

环境配置后,首先建立一个文件夹,用于存放博客内容。终端执行:

1
hexo init blog  # blog 是建立的文件夹名称

进入到建立的 blog 文件夹,安装 npm :

1
$ npm install

安装完成后,可以进行测试,开启 HEXO:

1
$ hexo s

此时,浏览器中打开网址 http://localhost:4000 ,能看到如下页面,测试完成后 Ctrl + C 关闭 HEXO 服务器。

HEXO测试示例

这里在对博客进行美化时,可以通过该方式快速查看效果,最终确定后再 PUSH 到 GitHub 上。

四、GitHub 设置与关联

这里是将博客托管到 GitHub 上的设置, GitHub Pages 是由 GitHub 官方提供的一种免费的静态站点托管服务,让我们可以在 GitHub 仓库里托管和发布自己的静态网站页面。 每个用户可以创建一个 用户名.io 的 GitHub Pages。

1. 创建仓库

首先在 Github 上创建仓库,名称设置为 username.github.io,其中,username 是用户名, 勾选添加 README,如下所示。

Github创建仓库

2. 关联设置

关联 GitHub 可以分为两步,分别是 Git 的配置和 HEXO 的配置。

1) Git 配置

打开终端,设置 GitHub 的用户名和邮箱:

1
2
git config --global user.name "GitHub 用户名"
git config --global user.email "GitHub 邮箱"

创建 SSH 密匙:

1
$ ssh-keygen -t rsa -C "GitHub 邮箱"

一路回车即可。

打开 GitHub 的设置界面,选择 SSH and GPG keys 项,点击 New SSH key,如下所示:

Github添加SSH

Title 自行输入, Key 部分的内容从 id_rsa.pub 复制,打开终端输入:

1
2
$ cd ~/.ssh
$ cat id_rsa.pub

复制输出的内容到之前的 Key 部分,点击 Add SSH Key 完成。

测试 Git 是否连接成功,打开终端执行:

1
$ ssh -T git@github.com

若出现 “Are you sure……”,输入 yes 回车确认;若无反应可能是 22 端口无法访问,尝试 443 端口:

1
$ ssh -T -p 443 git@ssh.github.com

同上输入 yes 回车确认后输出:

1
2
# Hi USERNAME! You've successfully authenticated, but GitHub does not
# provide shell access.

出现该输出证明已连接成功。注:仅第一次连接测试需要输入 yes。

2)HEXO 配置

修改 blog 文件夹下的 _config.yml 文件,在最后部分输入:

1
2
3
4
deploy:
type: git
repo: ssh://git@ssh.github.com:443/usrname/usrname.github.io.git
branch: main

这里需要注意的是,由于我是 443 端口访问成功,因此是上述形式。
若 22 端口则直接修改 repo 为 GitHub 仓库的访问地址,打开 .io 的仓库,复制如下地址:

Github仓库ssh

五、HEXO部署常用命令

1. 页面操作

1
2
3
$ hexo new "filename"			// 新建文章 
$ hexo new draft "filename" // 新建草稿
$ hexo publish "filename" // 发布草稿

2. 生成部署

全部配置完成后,就可以进行博客的生成和部署了,打开终端在 blog 目录下,执行:

1
2
3
$ hexo clean        // 清理缓存文件
$ hexo g // 生成静态页面
$ hexo d // 将文章部署到GitHub

这里需要注意的是,生成页面可能需要权限,加入 sudo 即可,但是部署部分要根据 ssh 配置的用户,
按照上述配置的话直接使用 hexo d 即可,使用 sudo 可能会报错。

六、结语

至此,HEXO 基本配置完成,需要注意的是,HEXO 依赖于本地环境,必须在本地完成文章后在部署到 GitHub 上。
但实际使用下来,并没有感觉多麻烦,写完后只需要生成部署一键三连即可,反而本地编辑器使用比较习惯更加方便。
后续就是博客页面的美化、域名等等有机会再更。