前言
博客也建立了十几天了,写文章一直都不方便,首先是编辑不方便(不熟悉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来注册免费域名。见下一篇文章