1.事前准备

  1. GitHub(必须,你需要注册一个GitHub帐号)
  2. Cloudflare(非必须,你需要注册一个Cloudflare帐号,这样你就可以将博客部署在CF的CDN里加速,但是你也可以直接使用GitHub.io分配的域名)

2.软件支持

  1. 安装Git(必须)
  2. 安装Node.js(必须)
  3. VSCode(非必须,这是一款轻量型的代码编辑器)

3配置 Git 密钥并连接至 Github

1
2
3
git config -l  //查看所有配置
git config --system --list //查看系统配置
git config --global --list //查看用户(全局)配置

3.1 配置用户名和邮箱

1
2
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

通过git config -l 检查是否配置成功

3.2 配置公钥连接Github

1
ssh-keygen -t rsa -C "你的邮箱"

提示Enter file in which to save the key直接一路回车即可,新手小白不推荐设置密钥
生成公钥文件成功后,将公钥文件里的内容复制到GitHub的SSH Keys里,然后输入命令:ssh -T [email protected]

3.3 私钥和公钥文件在C盘下用户文件夹下的.ssh的文件夹

  • id_rsa私钥
  • id_rsa.pub公钥

用记事本打开公钥id_rsa.pub,复制里面的内容,然后开始在github中配置ssh密钥。

3.4 将 SSH KEY 配置到 GitHub

进入github,点击右上角头像 选择settings,进入设置页后选择 SSH and GPG keys,名字随便起,公钥填到Key那一栏。

3.5 测试是否成功

1
ssh -T [email protected]

4.创建GitHub.io仓库(也可以不用GitHub.io)

  1. 创建仓库
  2. 创建分支
    github

5.初始化Hexo

5.1 在win桌面运行git,输入如下命令

1
2
3
4
5
6
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

5.2初始化项目后,blog有如下结构:

node_modules:依赖包
scaffolds:生成文章的一些模板
source:用来存放你的文章
themes:主题
.npmignore:发布时忽略的文件(可忽略)
_config.landscape.yml:主题的配置文件
config.yml:博客的配置文件
package.json:项目名称、描述、版本、运行和开发等信

5.3在命令行输入hexo cl && hexo s启动项目

打开浏览器,输入地址:http://localhost:4000/ ,看到下面的效果,说明你的博客已经构建成功了。

6.将静态博客挂载到 GitHub Pages

1
2
npm install hexo-deployer-git --save

这个命令很重要,不能运行blog文件部署不到GitHub上

修改 _config.yml 文件

  1. 在blog目录下的_config.yml,就是整个Hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述。

  2. 修改最后一行的配置,将xxx修改为你自己的github项目地址即可,还有分支要改为main代表主分支(注意缩进)。

1
2
3
4
5
deploy:
type: git
repository: [email protected]:xxxx/xxxx.github.io.git
branch: main

修改好配置后,运行如下命令,将代码部署到 GitHub(Hexo三连)。

1
2
3
4
5
6
7
8
// Git BASH终端
hexo clean && hexo generate && hexo deploy

// 或者

// VSCODE终端
hexo cl; hexo g; hexo d

VSCODE 终端首次执行报错(如果你使用的是win系统自带的命令行需运行如下命令)

1
2
Set-ExecutionPolicy RemoteSigned

  • hexo clean:删除之前生成的文件,可以用hexo cl缩写。
  • hexo generate:生成静态文章,可以用hexo g缩写
  • hexo deploy:部署文章,可以用hexo d缩写

如果出现Deploy done,则说明部署成功了。

部署到GitHub成功

稍等两分钟,打开浏览器访问:https://xxxx.github.io ,这时候我们就可以看到博客内容了。(xxx就是你的仓库名)