GitHub Pages + Hexo搭建博客流程

本地安装nodejs

下载网址:https://nodejs.org/zh-cn/download/
选择版本:node-v14.16.0-x64.msi(长期支持版)
默认参数安装,占用内存约53M

本地安装git

下载网址:https://gitforwindows.org/
选择版本:Git-2.30.2-64-bit.exe
默认参数安装,占用内存约260M

本地新建存放博客文件的专用文件夹

进入此文件夹,右键选择“git bash here”,逐行执行以下命令:

1
2
3
4
5
hexo init blog
cd blog
npm install
hexo g
hexo s #执行此行后会生成博客主页的本地访问链接,在浏览器中访问 http://localhost:4000 可以预览。预览结束后ctrl+c关闭

连接git到本地

继续在git bash界面中执行:

1
2
git config --global user.name "usrname"
git config --global user.email "email@address"

用户名和邮箱与注册GitHub账号用的保持一致

生成密钥文件:

1
ssh-keygen -t rsa -C "email@address"

之后连按三次回车,在C:\Users\yourname\.ssh文件夹下找到一个叫“id_rsa.pub”的文件,用notepad打开后复制全部内容,在github主页settings找到SSH and GPG keys,添加ssh key,随便起一个名字,把复制的内容粘贴进框里。此时注册GitHub的邮箱应该会收到一封提示“新的密钥已添加”的邮件。

在git bash中继续执行:

1
ssh -T git@github.com

选择“yes”,此时会显示用户名,说明已经连接成功。

打开博客根目录下的_config.yml文件
修改url处的配置:

1
2
url: https://usrname.github.io/
root: / #如果博客存放在子目录,这里就写“root: /usrname.github.io/”

修改最后一行的配置:

1
2
3
4
deploy:
type: 'git'
repository: git@github.com:usrname/usrname.github.io.git
branch: gh-pages

repository修改为自己的github项目地址

发布博文,并将原始文档上传至github repository

在git bash安装如下扩展:

1
npm i hexo-deployer-git

然后输入:

1
hexo new post "title"

新建一篇标题为“title”的文章

然后打开path\to\Blog\source\_posts
下面会多出一个.md文件

编写完markdown文件后,根目录下输入:

1
hexo g

生成静态网页,然后输入:

1
hexo s

进行发布效果的本地预览,按ctrl+c结束预览。最后输入:

1
hexo d

将刚刚的博文内容上传到github repository。此时打开github.io主页可看到刚刚发布的文章文件(通常来说需要等一段时间才能完成渲染)

修改了本地博文/更换主题后的操作

清理页面缓存

1
hexo clean

生成渲染,并在本地查看预览效果

1
hexo g & hexo s

同步至GitHub pages

1
hexo deploy

更换GitHub用户名后的操作

把github上的repository仓库名更换为与用户名一致
然后打开blog本地文件夹,更改_config.yml文件:

1
2
3
4
5
6
7
url: https://newusrname.github.io/
root: /

deploy:
type: 'git'
repository: git@github.com:newusrname/newusrname.github.io.git
branch: gh-pages

修改默认的文章链接生成格式

在博客文件夹内安装hexo-abbrlink插件:

1
npm install hexo-abbrlink --save

可能出现各种dependency错误,按照需求把缺失的dependency用npm install安装即可
修改博客配置文件:

1
2
3
4
permalink: posts/:abbrlink/
abbrlink:
alg: crc16
rep: dec

配置生效

1
hexo d -g

参考教程

  1. https://mfrank2016.github.io/breeze-blog/2020/05/02/hexo/hexo-start/
  2. https://zhuanlan.zhihu.com/p/35668237
  3. https://blog.csdn.net/as480133937/article/details/100138838