前言

博客也建立了十几天了,写文章一直都不方便,首先是编辑不方便(不熟悉markdown语法)然后又有网络问题,最恐怖的还是设备问题,我这电脑如果国庆后的月考没考好,那我的设备可就一命呜呼了,想写都写不了!于是我找啊找啊,尝试过那个netlify的什么编辑器,AI说是写后全自动部署……en,这体验就很难绷。于是我果断放弃这个方案。随后我便找到了本文的主角:Qexo

部署

这个东东支持vercel和docker部署啊,当然docker部署就需要你有一台服务器了,en我没有money于是就只能白嫖vercel啦,然后部署原文档已经写的很清楚了,这里也不说了。

Qexo配置

这里要把你的博客源文件给上传到Github啊,仓库名称随意,把你本地博客文件夹里面的东西,除了node_modules都上传到这个仓库啊,可以用HPP校验助手来验证完整性,github密钥Github 设置这里生成,需要 Repo和Workflow下的权限啊,然后保管好你的token,填入页面。vercel配置在这里进行配置https://oplog.cn/qexo/configs/vercel.html啊。

Github配置

想要实现自动化部署还要配置github。在你的源码仓库中新增仓库秘密。

/settings/secrets/actions

然后名称填 PERSONAL_TOKEN下面填你的Github的token

然后在仓库的action界面新建action填写如下信息:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
name: Deploy Hexo

on:
push:
branches: [main]

jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: write

steps:
# Step 1: 检出代码,明确禁用子模块
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.PERSONAL_TOKEN }}
# 关键设置:禁用子模块
submodules: false
# 可选:清理子模块残留配置
clean: true

# Step 2: 确保没有子模块残留配置
- name: Clean submodule configurations
run: |
echo "清理可能的子模块配置..."
# 删除 .gitmodules 文件(如果存在)
rm -f .gitmodules 2>/dev/null || true
# 清理 Git 配置中的子模块设置
git config --local --remove-section submodule.themes/butterfly 2>/dev/null || true
echo "清理完成"

# 验证目录结构
echo "验证目录结构..."
ls -la themes/ || echo "themes 目录不存在"
echo "=== 结束验证 ==="

# Step 3: 设置 Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

# Step 4: 安装依赖
- name: Install dependencies
run: npm install

# Step 5: 生成静态文件
- name: Generate static files
run: npx hexo generate

# Step 6: 部署到 GitHub Pages
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
personal_token: ${{ secrets.PERSONAL_TOKEN }}
publish_dir: ./public
publish_branch: main
external_repository: 你的github名称/你的静态文件仓库名(github.io那个)
user_name: "你的名字"
user_email: "你的邮箱"
keep_files: false
commit_message: "Deploy: ${{ github.sha }}"

这就行了。

国内访问

这个vercel自带的域名中国大陆用不了啊,你就需要把它绑定到你的域名上,当然我这个初中生肯定没域名,所以我们可以使用DigitalPlat Domain来注册免费域名。见下一篇文章