Hexo + GitHub Pages 搭建个人博客
一、前言
本篇博客主要记录了我使用 Hexo 和 GitHub Pages 搭建博客的过程,主要有以下几部分内容:
- Hexo 博客基本使用
- Hexo 配置优化
- 使用 GitHub Pages 部署 Hexo
- 配置域名
- 总结
二、Hexo 基础使用
2.1 安装 Hexo
前置条件:安装使用 Hexo 需要先安装 Nodejs 和 Git ,这个根据自己的操作系统和使用习惯来进行安装,我就不赘述了。
1 |
|
2.2 初始化 Hexo 博客
执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
1 |
|
Hexo 的初始文件如下:
1 |
|
其中比较重要的是 _config.yml 配置文件,配置文件的内容可以参考 Hexo 配置。
2.3 运行
初始化完成之后,进入 Hexo 博客目录 ,然后执行下面的指令安装依赖和启动服务。
1 |
|
然后在浏览器输入 :http://127.0.0.1:4000/ 就可以看到如下界面:
三、Hexo 优化
Hexo 优化包括很多方面,如配置主题、添加菜单、添加搜索功能、添加网站统计等。我直接使用了一套现成的主题配置方案,叫做 Fluid。
3.1 主题配置
3.1.1 安装 Fluid 主题
进入 Hexo 博客目录,执行下面的命令,完成 Fluid 主题安装。
1 |
|
3.1.2 创建 Fluid 配置文件
这里可以在 node_modules/hexo-theme-fluid/ 目录下复制一份 Fluid 主题默认的配置文件。
1 |
|
3.1.3 使用 Fluid 主题
编辑 hexo 目录下的 _config.yml配置文件,将主题切换为 fluid
1 |
|
然后执行 hexo -s 命令启动服务器,在浏览器输入 :http://127.0.0.1:4000/ 就可以看到 Fluid 主题已经配置成功了。
3.2 twikoo 评论插件配置
评论插件的选择很多,对比了之后,我选择了 Twikoo 这款评论插件,使用 Zeabur 部署,部署成功后,需要自己设置一个域名,例如 https://mytwikoo.zeabur.app。然后在 _config.fluid.yml 配置文件中做如下配置:
1 |
|
配置完成后,执行 hexo -s 启动服务,查看博客详情,看到如下界面就说明配置成功了。
3.3 配置网站运行天数
在 _config.fluid.yml 配置文件中找到 footer 配置,将 content 配置成下面的代码:
1 |
|
然后在 source/js 目录下创建 duration.js 文件,里面加入如下代码:
1 |
|
3.4 其他配置
还有很多细枝末节的配置,我就不一一展开了,可以参考 Fluid 配置指南,根据文档来进行即可。
四、使用 GitHub Pages 部署 Hexo
GitHub Pages 的相关知识可以参考 GitHub Pages 文档。
4.1 创建 Github Pages 仓库
在自己的 GitHub 创建一个名为
4.2 安装 hexo-deployer-git
进入 Hexo 博客目录下,执行下面的安装命令:
1 |
|
4.3 配置 SSH 密钥
先简单说一下过程,就是在我们本地的电脑上生成一个 SSH 密钥,然后将其中的 SSH 公钥配置到 GitHub 中,就可以实现无密码访问我们的 GitHub 仓库了,更多的细节可以参考 GitHub 文档 - 使用 SSH 进行连接。下面是配置过程:
4.3.1 生成 SSH 密钥
1 |
|
4.3.2 将 SSH 公钥添加到 GitHub 中
进入 GitHub 个人设置中,找到 SSH and GPG keys,然后点击 New SSH key 将上一步生成的公钥添加进去。
4.3.3 测试 SSH 连接
打开终端,执行下面的命令
1 |
|
如果出现以下内容,则说明配置成功
1 |
|
4.4 修改配置
编辑 _config.yml 文件,找到 deploy 配置,加入 Github Pages 仓库的地址
1 |
|
4.5 生成站点文件并推送至远程库
1 |
|
推送成功后,就可以直接通过 GitHub 的域名 https://marshalby2.github.io 来访问我们的的博客了。
五、配置域名
5.1 域名购买和解析
普通的域名还是很便宜的,可以选择腾讯云和阿里云。我对比了一下普通域名的费用,阿里云会便宜一些,我就在阿里云购买了域名。购买完成后需要解析到我们的 GitHub Pages 仓库地址。照着下面截图的方式创建两条解析记录:
添加完如下所示:
5.2 域名配置
在 GitHub Pages 仓库中,依次点击 Settings -> Pages,然后就会看到下面的配置,在 Custome domain 中填入购买的域名,并将 Enforce HTTPS 选上。
配置完后,就可以通过域名 https://marshalby2.site 访问博客了。
5.3 创建 CNAME 文件
配置到上一步就可以通过域名访问博客了,但是有个问题,每次部署博客后(执行 hexo d
指令),都会把上一步配置的域名清空,所以还需要在博客目录下的 source 文件下创建 CNAME 文件,在里面填入我们的域名。
1 |
|
至此,域名配置的所有步骤就结束了。
五、总结
本篇博客主要记录了通过 Hexo 和 GitHub Pages 搭建一个静态博客的过程,然后做了一些简单的配置优化,后续有其他方面的配置优化,再做记录。如果觉得访问 GitHub Pages 很慢,改进的方案是可以将博客部署到 Gitee 或者 Coding 平台,这些平台都提供了类似 GitHub Pages的功能。