使用Cloudflare Pages搭建静态博客
使用Cloudflare Pages搭建静态博客
几年前尝试用Hexo搭建过一次静态博客站,整个过程总之比较繁杂,需要自己购买VPS,通过webhook实现自动部署,在自己申请tls证书;或者是通过Github Pages+Github Action实现自动部署,但是Repo必须设置为Public,这样即使是被删除的博文也能被看得到,并不方便。
这次尝试使用免费计划的Cloudflare Pages连接Github上的Private仓库,实现静态网页托管。顺便把以前的博客站的Markdown复制过来,十分方便。
Hexo博客配置
具体步骤参见官方文档。这里提一点关于Node.js的安装。因为Hexo的推荐安装方式是使用 npm install -g hexo-cli 进行全局安装,这对我这种环境洁癖是不能忍的。因为平时用Python比较多,所以顺便可以直接使用Conda进行Node.js的环境管理。conda-forge社区上提供了Node.js的包,所以可以很方便创建一个单独的Node.js环境用于hexo。
1 | |
这样npm的全局安装路径就在conda的虚拟环境目录下了。
Cloudflare Pages配置
当本地的Hexo已经配置完毕后,就可以通过Git上传至Github上的私有仓库。
在Cloudflare Deshboard中,打开Workers & Pages,新建一个Pages应用,就会自动提示连接到Git仓库。通过授权Github账号,Cloudflare即可访问指定的私人仓库。在构建设置中,构建命令输入 npx hexo generate ,构建输出目录输入 public即可。
如果使用自定义域名,则最好把域名也加入到Cloudflare Dashboard中,Cloudflare会自动为博客签署TLS证书。
结语
至此Hexo博客已经配置完毕。每次本地新建Markdown博文后,只需要push至Github即可。Cloudflare会自动获取新的push内容,自动构建新的页面,将网站缓存至Cloudflare CDN中,并使用自动签署的TLS证书为博客网站提供HTTPS连接。