cloudflare pages同步github Hexo

Cloudflare有一个pages的功能,类似于Github Page,可以用来托管静态网站。那有没有可能将hexo站点托管到CF pages呢?
下面来操作吧。

创建build.sh脚本

首先确保你在Github上有Hexo的仓库,我们在仓库的根目录新建一个名为build.sh的文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash

# 配置环境
npm install -g hexo-cli
mkdir hexo
cd hexo
hexo init
npm install
rm -rf source/_posts
mkdir -p source/_posts

# 安装主题(你们可以改成自己喜欢的主题)
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

# 使用新的渲染器
npm un hexo-renderer-marked --save
npm i hexo-renderer-markdown-it --save
# 处理图片
npm i hexo-image-link --save

# 复制文章到指定目录
cd ../
cp -r `ls | grep -v hexo | grep -v config.yml | xargs` hexo/source/_posts
# 复制配置文件
cp config.yml hexo

# 开始构建
cd hexo && hexo g --config config.yml

登录CF创建应用

登录到Cloudflare,切换到pages选项卡,新建一个项目,选择“连接到git”,使用Github账户登录
20220725160214
然后选择你的hexo仓库,点击下一步
20220725160035
按图片所示填入信息,然后点击保存并部署。
20220725160435
部署完成之后我们就可以使用系统分配的pages.dev域名来访问部署在Cloudflare的站点了。

测试同步

现在看下在github上发布一篇文章,看看会不会自动同步更新。
20220725160708