借助Github Page提供的免费的网页服务器和Github Action提供的免费的定时任务的脚本运行环境,可以搭建一个属于自己的博客网站。

在搭建好整个环境后,我们只需要将写好的文章放到指定仓库,即可每日定时自动更新自己的博客网站。

0x0 创建文章仓库

仓库名称可以自定义,可以勾选Add a README file,创建一个用于测试的文章。

20230711164515

创建完成后仓库中默认包含一个README.md文件,可在之后删除。

记下创建的仓库地址,如zzhihann/my-note

这个仓库仅用于存放写好的文章。

目录没有统一格式,在这个仓库里的所有markdown格式的文件都会被同步

如果需要设置为私有仓库,请生成一对rsa密钥,然后在仓库的Setting->Deploy Key处点击Add deploy key,将公钥复制进去,Title随便填,不要勾选Allow write access

0x1 创建主页面仓库

0x10 Fork仓库

地址: https://github.com/chnzzh/hexo-action-deployer

修改仓库名为: 用户名.github.io

20230711163930

0x11 新建Secret

Settings->Secrets and variables->Actions

20230711164112

点击New repository secret

创建一个名称为MYNOTES_REPO,内容为文章仓库的地址,如用户名/my-note

如果文章仓库为私有仓库,还需要创建一个名称为MYNOTES_PRIVATE_KEY,内容为对应的私钥

0x12 配置Action

Settings->Actions->General 给Action分配读写权限:

20230711170213

0x13 手动触发Action

Action->Deploy Hexo site to Pages 点击Enable workflow,然后点击Run

20230711165309

等待运行成功

0x14 设置部署分支

Settings->Pages 设置分支为gh-pages:

20230711170417

0x15 测试网站

访问用户名.github.io,即可看到部署成功的页面!

0x2 配置

0x20 配置Github Action更新方式

默认更新方式是通过push代码和定时(每日UTC时间20点)更新。如果需要改变更新时间或方式,请直接修改.github/workflows/hexo.yml文件

1
2
3
4
5
6
7
on:
# 当main分支触发push时
push:
branches: [ "main" ]
# 定时器,每日UTC时间20时更新
schedule:
- cron: "0 20 * * *"

0x21 更换主题

方式1:将主题添加为子模块(推荐)

1
git submodule add -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

方式2:直接放在theme文件夹下

将主题文件夹放在theme文件夹下

方式3:通过npm包安装

1
npm install hexo-theme-butterfly

放置主题配置文件

  1. 修改根目录下的_config.yml中的theme为对应主题名

  2. 将主题文件夹中的配置文件复制到根目录并重命名为_config.主题名.yml(如_config.butterfly.yml)