无聊了,想试着重新开始写写博客。

这次还是打算选用 Hexo + Github Page 来部署,不用弄云服务器,希望后期积累多了后它不会变卡。

1. 环境搭建

  1. 安装 git;
  2. 安装 nvm;
  3. 安装 Node.js;
  4. 安装 Hexo;
  5. 创建 Github 仓库。

安装环境的步骤比较简单,git 和 Node.js 都可以直接官网下载安装包,简单记录一下其中的步骤。


1.1 连接 Github

在博客的项目文件夹下,设置该项目的用户名和邮箱:

1
2
git config user.name "<GitHub 用户名>"
git config user.email "<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 完成添加。

picture_1

1.4 验证连接

打开 Git Bash,输入 ssh -T git@github.com 出现 “Are you sure……”,输入 yes 回车确认。

显示 “Hi xxx! You’ve successfully……” 即连接成功。

picture_2

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
2
3
4
deploy:
type: git
repository: git@github.com:<用户名>/<用户名>.github.io.git
branch: main

但我之前部署的 branch 是 main ,所以在部署时改成了 main。

完成后运行 hexo d 将网站上传部署到 GitHub Pages。

这时访问 GitHub 域名 https://<用户名>.github.io 就可以看到 Hexo 网站了。

2.3 设置域名跳转:

先通过阿里云等,设置 DNS 解析,将自己注册的域名解析到 <用户名>.github.io ,然后登陆 Github 设置自定义域名。

登录 Github ,进入博客的 repoSettingsPagesCustom domain ,然后点 Save 保存。

完成!

一些踩到的小坑

首先,要记得添加 Tags 页面和 Categories 页面,不然会 404。

添加页面:

1
2
hexo new page "tags"
hexo new page "categories"

编辑 markdown 文件:

1
2
3
4
5
---
title: "tags"
type: tags
layout: "tag"
---

注意!!!

这里面最重要的就是 layout 选项,后面的参数对应的是你 主题文件夹下 layout 文件夹下第一级的布局文件。

比如,我的主题是用ejs写的,那么对应的就是layout/tags.ejs,如果没有,那么就会出现空白的现象!

如果你的tags文件的命名时a.ejs,那么你就应该写成 layout: “a”。

这里是使用 layout 还是 type,可以看主题下的文档与注释。

编辑主题配置文件:

1
2
3
4
nav:
home: / # 看具体名字是叫什么。
about: /about
tags: /tags

编辑 Hexo 配置文件 Directory 选项:

检查一下名称是否对应:

1
2
# Directory
tag_dir: tags

编辑 hexo new "article" 后,markdown 里自动添加的 scaffolds

在博客文件夹里的 scaffolds 文件夹里,编辑 post.md 文档,添加入想包含的如 “tags” 等部分即可。

好了,先这样吧。这是不记得第几次重启计划写博客了,希望这次真能慢慢有所积累,有所坚持!

(ง๑ •̀_•́)ง ~~