无聊了,想试着重新开始写写博客。
这次还是打算选用 Hexo + Github Page 来部署,不用弄云服务器,希望后期积累多了后它不会变卡。
1. 环境搭建
- 安装 git;
- 安装 nvm;
- 安装 Node.js;
- 安装 Hexo;
- 创建 Github 仓库。
安装环境的步骤比较简单,git 和 Node.js 都可以直接官网下载安装包,简单记录一下其中的步骤。
1.1 连接 Github
在博客的项目文件夹下,设置该项目的用户名和邮箱:
1 | git config user.name "<GitHub 用户名>" |
1.2 创建 SSH 密匙
输入 ssh-keygen -t ed25519 -C "GitHub 邮箱" ,然后一路回车。
其中,-t ed25519 是生成密钥的 key type,-C 是添加注释,"GitHub 邮箱" 是注释内容。
不同类型的 SSH 公钥(Key types)在算法、安全性、兼容性和性能上有所区别。常见的类型有:
| 名称 | 算法类型 | 特点 | 使用场景 |
|---|---|---|---|
| RSA Rivest–Shamir–Adleman |
基于整数因式分解的公钥算法 | 兼容性最好,支持广泛。密钥长度通常为 2048 或 4096 位(位数越大安全性越高,但计算越慢)。 安全性:目前仍然安全,但需要较长密钥才能保证安全。 |
通用,老旧系统必备。 |
| DSA Digital Signature Algorithm |
基于离散对数问题 | 固定密钥长度 1024 位,安全性较低 现在被认为不够安全,很多系统禁用 |
不推荐使用 |
| ECDSA Elliptic Curve Digital Signature Algorithm |
椭圆曲线算法,基于椭圆曲线离散对数问题 | 密钥较短(256、384、521 位),安全性高 运算速度快,性能优于 RSA 兼容性:支持较新,部分老旧系统不支持 |
现代系统推荐 |
| Ed25519 | 基于 Edwards 曲线的椭圆曲线算法 | 密钥更短(256 位),非常安全 速度快,抗侧信道攻击能力强 简洁的实现和良好的安全属性 兼容性:需要 OpenSSH 6.5+ 支持 |
推荐用于新建 SSH 密钥 |
1.3 添加密匙
进入 ~\.ssh 目录(要勾选显示“隐藏的项目”),用记事本打开公钥 id_****.pub 文件并复制里面的内容。
登陆 GitHub ,进入 Settings 页面,选择左边栏的 SSH and GPG keys,点击 New SSH key。
Title 随便取个名字,粘贴复制的 id_****.pub 内容到 Key 中,点击 Add SSH key 完成添加。

1.4 验证连接
打开 Git Bash,输入 ssh -T git@github.com 出现 “Are you sure……”,输入 yes 回车确认。
显示 “Hi xxx! You’ve successfully……” 即连接成功。

2. Hexo 安装和部署
2.1 安装 Hexo
新建一个文件夹用来存放 Hexo 的程序文件,打开该文件夹,右键 终端 或 Git Bash Here。(Windows端)
1 | npm install -g hexo-cli |
使用该命令前,应先安装好 node.js
在该文件夹或新建文件夹下初始化:
1 | hexo init |
注意,该文件夹必须为空文件夹。
2.2 一键部署
安装 hexo-deployer-git :
1 | npm install hexo-deployer-git |
修改 _config.yml 文件末尾的 Deployment 部分,修改成如下:
1 | deploy: |
但我之前部署的 branch 是 main ,所以在部署时改成了 main。
完成后运行 hexo d 将网站上传部署到 GitHub Pages。
这时访问 GitHub 域名 https://<用户名>.github.io 就可以看到 Hexo 网站了。
2.3 设置域名跳转:
先通过阿里云等,设置 DNS 解析,将自己注册的域名解析到 <用户名>.github.io ,然后登陆 Github 设置自定义域名。
登录 Github ,进入博客的 repo → Settings → Pages → Custom domain ,然后点 Save 保存。
完成!
一些踩到的小坑
首先,要记得添加 Tags 页面和 Categories 页面,不然会 404。
添加页面:
1 | hexo new page "tags" |
编辑 markdown 文件:
1 | --- |
注意!!!
这里面最重要的就是 layout 选项,后面的参数对应的是你 主题文件夹下 layout 文件夹下第一级的布局文件。
比如,我的主题是用ejs写的,那么对应的就是layout/tags.ejs,如果没有,那么就会出现空白的现象!
如果你的tags文件的命名时a.ejs,那么你就应该写成 layout: “a”。
这里是使用 layout 还是 type,可以看主题下的文档与注释。
编辑主题配置文件:
1 | nav: |
编辑 Hexo 配置文件 Directory 选项:
检查一下名称是否对应:
1 | # Directory |
编辑 hexo new "article" 后,markdown 里自动添加的 scaffolds
在博客文件夹里的 scaffolds 文件夹里,编辑 post.md 文档,添加入想包含的如 “tags” 等部分即可。
好了,先这样吧。这是不记得第几次重启计划写博客了,希望这次真能慢慢有所积累,有所坚持!
(ง๑ •̀_•́)ง ~~