用Hexo搭建Github Pages博客
此博客位于 Github Pages ,利用 Hexo 博客框架,采用 Next 主题,以下一切步骤皆建立在此基础上
准备:
- 环境搭建: Git 和 Node.js
- 一个 GitHub 账户
- 连接 Github
- 创建 Github Pages 仓库
- 安装 Hexo 博客框架
- 网站配置
- 主题配置
- 新建文章
- 本地预览
- 部署 Hexo 到 Github Pages
连接 Github
- 创建 Github 账号
2. 在 Git 设置用户名和邮箱
1 | git config --global user.name "GitHub 用户名" |
3. 创建SSH秘钥
1 | ssh-keygen -t rsa -C "GitHub 邮箱" |
然后一路回车
4. 添加秘钥
- 进入
C:\Users\用户名\.ssh此中会有两个文件:id_rsaid_rsa.pub分别是私钥和公钥 - 用记事本打开
id_rsa.pub复制所有内容 - 登录 Github 进入 Settings 页面,选择左栏的
SSH and GPG keys,点击New SSH key - Title 填公钥的名字, Key 填刚刚复制的内容,点击
Add SSH key完成添加。
5. 验证连接
回到 Git bash ,输入
1 | ssh -T [email protected] |
出现 Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入 yes 回车确认。
显示 Hi xxx! You’ve successfully authenticated… 即连接成功。
创建 Github Pages 仓库

打开并登录 Github 网站,点击右上角加号 –> New repository
之后填写 Repository name ,注意!!! 由于创建的是 Github Pages 仓库,所以 Repository name 必须填写自己的小写用户名。将其设置为 Public 之后点击最下面的 Create repository 即可创建成功。
安装 Hexo
创建一个文件夹用来存放 Hexo 的程序文件和日后创建的文章及网站源码 如
D:/Hexo右键 ->Git bash Here使用 npm 安装 Hexo
1 | npm install -g hexo-cli |
- 初始化并安装所需组件
1 | hexo init # 初始化 |
安装完成后,指定文件夹的目录如下:
1 | . |
网站配置
网站的站点配置文件为 Hexo/_config.yml
站点配置
1 | # Site |
网址配置
1 | url: http://example.com # 博客网址 |
注意
- 关于 url 和 root :如果网站存放在子目录中,例如
http://example.com/blog,则将 url 设为http://example.com/blog并把 root 设为 /blog/ - 关于
永久链接:若按默认的:year/:month/:day/:title/设置,则链接按文章创建的时间和标题来定义,例如在2022年1月1日创建的名为”Blog”的文章,则链接为http://example.com/2022/01/01/Blog/
这样的链接太长,所以我设置为:category/:title/即文章分类/标题,设置方法请 跳转此处 ,关于更多永久链接的设置,请参考 Hexo 官方文档
网站目录配置
1 | source_dir: source # 资源文件夹,用来存放用户资源 |
配置部署
1 | deploy: |
主题配置
安装主题
用Git安装 Hexo-Next 主题
1 | git clone https://github.com/next-theme/hexo-theme-next themes/next |
选择主题
打开网站配置文件_config.yml,找到theme更改为以下内容
1 | theme: next |
使用代替主题配置文件
传统的方法是使用 next/_config.yml 配置主题,但此方法在主题更新时并不顺利
建议使用独立的 _config.[theme].yml 文件,防止更新主题时丢失以前所做的更改
- 在站点根目录
Hexo/下创建_config.next.yml文件 - 要更改主题,要在
_config.next.yml定义值,例如要开启菜单中的分类页面,就在_config.next.yml中添加 去掉#的值
1 | menu: |
建议添加所有关于menu的值以便日后更改
1 | menu: |
更改只需要去掉 # 注释
⚠️ 注意缩进!!!
新建文章
在 Hexo 文件夹 右键 –> Git bash Here
1 | hexo n "标题" |
之后会在 Hexo\source\_posts 下创建一个名为 “标题.md” 的文件,打开即可编辑
创建”分类” “标签”选项
创建分类
在 Git bash 执行
1 | hexo new page categories |
成功后提示
1 | INFO Created: ~/Hexo/source/categories/index.md |
根据上面的路径,打开 index.md 内容如下
1 |
|
接下来添加一行 type: "categories" 使其变为
1 |
|
保存并关闭文件
创建标签
在 Git bash 执行
1 | hexo new page tags |
成功后提示
1 | INFO Created: ~/Hexo/source/tags/index.md |
根据上面的路径,打开 index.md 内容如下
1 |
|
接下来添加一行 type: "tags" 使其变为
1 |
|
保存并关闭文件
使用模板
修改模板后,每次新建的文章都会采用这个模板
修改方法:打开Hexo\scaffolds\post.md修改为以下内容
1 |
|
保存并关闭文件
使用”分类” “标签”
修改完模板,新建文章后打开文章,为文章添加
categoriestags属性
1 |
|
注意 分类建议只创建一个,标签可以创建多个。
将永久链接改为分类+标题的格式
默认的永久链接
:year/:month/:day/:title/层级太多且比较长,所以我改为简短一点的:category/:title/,这样给文章加了分类后,文章的永久链接就改为http://example.com/分类/标题/
如果这样修改就要给每一篇文章定义分类
本地阅览
首先生成页面,执行
1 | hexo g |
然后进行本地阅览,执行
1 | hexo s |
浏览器打开 http://localhost:4000/ 就可以看到效果了
部署
确保在 站点配置文件 中 配置部署,信息更改无误后,执行 clean 命令
1 | hexo clean |
此命令会清除缓存文件 (db.json) 和已生成的静态文件 (public)。然后生成页面
1 | hexo g |
最后部署
1 | hexo d |
出现如下信息
1 | INFO Deploy done: git |
以上三条命令可以一气呵成,只需要执行
1 | hexo clean && hexo g && hexo d |
大功告成