前提

  1. 本地已安装git
  2. 有GitHub账号
  3. 已在GitHub上创建好了一个repo,并开启了GitHub Pages服务

此处需注意,在GitHub上创建repo时的命名很重要,这意味着你将来可以以怎样的域名访问你的站点。

例如:我的GitHub账号为 zhdbest ,那么我的GitHub Pages的访问域名就是 https://zhdbest.github.io ,如果我创建一个repo的名字叫 blog ,那么我这个repo的GitHub Page访问路径就是 https://zhdbest.github.io/blog 。此时,如果我在创建一个repo名字叫 help ,那么这个 help 的GitHub Page访问路径就是 https://zhdbest.github.io/help

如果,你不想有后缀,也就是想直接使用 https://zhdbest.github.io 来访问某个repo的话,方法就是将这个repo命名为 zhdbest.github.io

GitHub Pages可以绑定你自己的域名,其不过是替换原访问路径中的 zhdbest.github.io 这一段。例如我为我的GitHub Pages绑定了域名 hongmao.run ,那么,我就可以用 https://hongmao.run 来访问我的 zhdbest.github.io 这个repo的GitHub Page,也就意味可以使用 https://hongmao.run/blog 来访问我的 blog 这个repo的GitHub Page了。

1. 在项目目录下安装插件

1
npm install hexo-deployer-git --save

2. 修改配置

修改 _config.yml 文件:

1
2
3
4
deploy:
  type: git
  repo: <https://github.com/zhdbest/blog.git>
  branch: main

3. 执行部署

1
2
3
4
5
6
# 清空缓存及已生成的public目录
hexo clean
# 生成public目录及其下的静态文件
hexo g
# 部署至GitHub
hexo d

4. 部署时常见问题

4.1 部署后,页面只显示一小部分

经排查,发现有很多js文件和css文件访问404了。

在网上找了一些解决方案,发现是由于站点配置文件(_config.yml)的配置存在问题导致的:

1
2
# 原来的URL是默认值没有改,改成如下配置后即可
url: <https://zhdbest.github.io/blog>

4.2 部署后,页面图片无法正常展示

我的页面图片挂掉的原因是:图床采用了http的域名,但页面强制https,导致无法获取到图片。