部署hexo+qexo+github+cloudflare
部署hexo+qexo+github+cloudflare
XJFKKK本文是对CM佬文章进行了补充,增添了qexo管理hexo博客后台功能,并自动推送修改后的代码至你的博客网站
修改的部分参考本文,详细视频链接查看:
https://www.youtube.com/@CMLiussss
1.安装所需软件
Node:
修改npm源,打开CMD窗口,运行安装华为云镜像源
1 | npm config set registry <https://mirrors.huaweicloud.com/repository/npm/> |
Git:
VS code:
2.配置 Git 连接至github及仓库同步推送所需密钥
2.1. 配置用户名和邮箱
打开 Git Bash
配置github用户名和邮箱
1 | git config --global user.name "你的用户名" |
2.2.配置公钥连接Github
1 | ssh-keygen -t rsa -C "你的邮箱" |
将**“你的邮箱”** 修改为你自己的。为了密钥方便管理,可以修改存放目录。
可选择存放目录,如:将SSH密钥对保存到 D:\\Git\\user-password
目录下
1 | D:/Git/user-password/id_rsa |
去 C:\\Users\\用户名\\.ssh
修改 config
文件(如果没有创建一个)
1 | Host github.com |
路径进行相应调整
在 D:\\Git\\user-password
会看到以下文件
id_rsa
私钥id_rsa.pub
公钥
2.3.再配置密钥用于github仓库同步
1 | ssh-keygen -t rsa -C yourname.github.io |
将yourname改为你自己的gihutb名
将SSH密钥对保存到 D:\\Git\\hexo-key
目录下
1 | D:/Git/hexo-key/id_rsa |
2.4.将 SSH KEY 配置到 GitHub
进入github,点击右上角头像 选择 settings
,进入设置页后选择 SSH and GPG keys
,点击 SSH keys
,名字随便起,将2.2步骤中获取的 id_rsa.pub
公钥填到 Key
那一栏
2.5.连接到github
1 | ssh -T git@github.com |
3.创建GitHub.io仓库和hexo-blog仓库
3.1.创建GitHub.io仓库用于存放静态站(即你的博客站点)
- 点击右上角的
+
按钮,选择New repository,创建一个<用户名>.github.io
的仓库。 - 仓库名字的格式必须为:
<用户名>.github.io
(注意:前缀必须为用户名,此为预览博客需要,后期可修改仓库名) - **不想暴露源码,可选择
Private
**,点击 Creat repository 进行创建即可
3.2.创建hexo-blog仓库用于存放博客源码
- 点击右上角的
+
按钮,选择New repository,创建一个hexo-blog
的仓库。 - 仓库名字的格式必须为:
hexo-blog
(名称可以自己更改) - **不想暴露源码,可选择
Private
**,点击 Creat repository 进行创建即可
4.初始化 Hexo 博客
4.1创建博客文件夹
创建一个文件夹来保存博客源码(如:路径 D:/Hexo-Blog
),在文件夹内右键鼠标,选择 Open Git Bash here
4.2.安装 Hexo
1 | npm install hexo-cli -g |
blog可以自行替换,这是博客存放的目录
初始化项目后,blog
有如下结构:
- node_modules:依赖包
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- .npmignore:发布时忽略的文件(可忽略)
- _config.landscape.yml:主题的配置文件
- config.yml:博客的配置文件
5.在博客根目录里安装最新版主题
5.1.安装主题
使用VS CODE打开你生成的blog文件,我以安知鱼主题为例
1 | git clone -b main <https://github.com/anzhiyu-c/hexo-theme-anzhiyu.git> themes/anzhiyu |
5.2.安装 pug 以及 stylus 的渲染器
1 | npm install hexo-renderer-pug hexo-renderer-stylus --save |
5.3修改主题
5.3.1.修改 hexo 配置文件
修改 hexo 配置文件 _config.yml
,把主题改为 anzhiyu
1 | theme: anzhiyu |
5.3.2.覆盖配置
覆盖配置可以使 主题配置
放置在 anzhiyu 目录之外,避免在更新主题时丢失自定义的配置
将 /themes/anzhiyu/_config.yml
创建副本并重命名为 _config.anzhiyu.yml
,将 _config.anzhiyu.yml
放入根目录下
以后如果修改任何主题配置,都只需修改 _config.anzhiyu.yml
的配置即可
其余插件及所需可参考官方文档进行配置即可
https://docs.anheyu.com/initall.html
5.3.3.安装 hexo-deployer-git
1 | npm install hexo-deployer-git --save |
5.3.4.修改 _config.yml
文件
使用 VS Code
打开 blog
文件夹,修改 _config.yml
最后一行的配置,将repository修改为你自己的github项目地址即可,分支改为 main
代表主分支
1 | deploy: |
6.修改写作模板
/scaffolds
目录下有几个模版文件,其中
官方文档:
https://docs.anheyu.com/page/front-matter.html
你也可以替换为CM佬的模板
https://blog.cmliussss.com/p/HexoBlogNo2/#2-配置文章模版
7.将创建的两个github仓库进行同步
7.1.hexo-blog仓库私钥创建
打开你的hexo-blog仓库进行配置:Settings
→ Secrets and variables
→ Secrets
→ Actions
→ new repository secret
页面上添加一个新的 Secret``Name
填写 HEXO_DEPLOY_PRI
,**Secret
填写 2.3步骤
获取的** id_rsa
私钥
7.2.yourname.github.io仓库公钥创建
yourname.github.io
仓库进行配置:Settings
→ Deploy keys
→ Add deploy key
页面上添加一个新的 Secret
。
Title
填写 hexo-deploy-key
,Key
填入**2.3步骤
获取到的**id_rsa.pub
公钥,**Allow write access
勾选上**
8.推送hexo博客源码至hexo-blog仓库中
强调:首先要将 ~\\themes\\anzhiyu
目录下的 .github
删除(或者可以移动到其他桌面位置)
8.1.初始化Git仓库
1 | git init |
8.2.将所有文件添加到Git暂存区
1 | git add . |
8.3.提交文件到本地仓库
1 | git commit -m "first commit" |
8.4.将本地仓库与GitHub仓库关联
1 | git remote add origin YOUR_GITHUB_REPO_URL |
将 YOUR_GITHUB_REPO_URL
替换为https://github.com/github用户名/仓库名.git
8.5.推送代码
1 | git push -u origin main |
9.新建GitHub Action编写 Workflow
创建目录及文件如下:.github/workflows/main.yml
需要修改你的github名字,你的邮箱 node-version: ‘22’根据你本地安装的版本进行相应替换即可并保存。
1 | name: Hexo Deploy |
去Actions中查看进度,完成后就可以去GitHub.io仓库查看静态网站代码是否成功推送,若生成目录,即可访问你的xxxx.github.io网页。
10.创建qexo绑定你的博客源码
10.1.一键部署qexo
首次部署会报错, 请无视并进行接下来的步骤
https://vercel.com/new/clone?repository-url=https://github.com/am-abudu/Qexo
在项目 Settings -> General -> Node.js Version 将 Node.js 版本改为 18.x 后保存
10.2.申请 Vercel 数据库
进入Vercel Storage 界面 然后点击右上角的 Create Database 并选择 Postgres 创建免费 PostgreSQL 数据库, 在 Connect 页面获取数据库连接信息
10.3.绑定项目
在左侧边栏选择 Projects 点击 Connect Project 连接到你创建的qexo项目。
10.4.重新部署qexo
回到你的项目页面,在 Deployments 点击 Redeploy 开始部署, 若没有 Error 信息即可打开域名进入初始化引导
10.5.创建面板需要的账号和密码
10.6.创建Github 密钥
于 Github 设置 生成的 Token (建议使用 Classical) 需要 Repo & Workflow 下的权限 不建议给出所有权限
10.7.填写面板所需的变量
仓库为 github用户名/仓库名
,仓库的分支为 main
,密钥为上一把获取的,仓库路径不用填写。
输入完成后即可进入你的后台
11.将github推送至cloudflare
在 Workers 和 Pages
中选择 Pages
的 连接到 Git
即可,可以自定义域名
也可以将xxx.github.io仓库放置于 vercel
中。
📎 参考文章
- https://hexo.io/zh-cn/
- https://docs.anheyu.com/initall.html
- https://blog.cmliussss.com/p/HexoBlogNo1/
- https://blog.cmliussss.com/p/HexoBlogNo2/
- https://www.oplog.cn/qexo/configs/provider.html
- https://www.haichen.website/2023/10/10/使用GitHub Action实现Hexo博客自动发布/
- https://yaoyuanyy.github.io/2022/02/28/GitHub-Actions实现Hexo博客自动发布/
- https://umm.js.org/p/3d7401da/
- https://www.oplog.cn/archives/24998.html#