Files
x-eden-quartz/.github/workflows/build-and-deploy.yml

55 lines
2.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Build and Deploy Quartz Site
on:
schedule:
- cron: '0 6 * * *' # 每天早上 6 点UTC执行一次定时任务
push:
branches:
- main # 当 main 分支有新提交时触发工作流
jobs:
build-and-deploy:
environment: default
runs-on: ubuntu-latest # 使用最新的 Ubuntu 运行环境
steps:
- name: Checkout Quartz Repository
uses: actions/checkout@v3 # 检出当前仓库的代码
- name: Set up Node.js 20
uses: actions/setup-node@v3 # 设置 Node.js 环境
with:
node-version: '20' # 使用 Node.js 20 版本
- name: Clone Wiki Repository and Clean Private Folders
run: |
# 克隆 Wiki 仓库到临时目录
git clone https://${{ secrets.GITEA_REPO_READ }}@git.7wate.org/zhouzhongping/wiki.git /tmp/wiki
# 删除私密文件夹(如 Personal 文件夹)
rm -rf /tmp/wiki/Personal
# 如果有其他私密文件夹,也可以在这里添加删除命令
- name: Prepare Content Directory
run: |
# 清理旧的 content 目录
rm -rf content
# 将 Wiki 仓库内容复制到 content 目录
cp -r /tmp/wiki content
# 将 README.md 重命名为 index.md
mv content/README.md content/index.md
# 删除 index.md 的第一行
sed -i '1d' content/index.md
# 在 index.md 的开头插入 YAML 前置元数据
sed -i '1i ---\ntitle: 数字花园\n---' content/index.md
- name: Install Dependencies and Build Site
run: |
# 安装依赖并构建 Quartz 静态网站
npm ci # 使用 npm ci 安装依赖,确保一致性
npx quartz build # 使用 Quartz 构建静态网站
- name: Deploy to HTML Branch
uses: peaceiris/actions-gh-pages@v3 # 使用 gh-pages Action 部署到 GitHub Pages
with:
github_token: ${{ secrets.GITHUB_TOKEN }} # 使用 GitHub Token 进行身份验证
publish_dir: ./public # 指定构建输出目录
publish_branch: html # 部署到 html 分支