mirror of
https://github.com/zopiya/x-eden-quartz.git
synced 2025-11-03 06:16:47 +08:00
57 lines
2.0 KiB
YAML
57 lines
2.0 KiB
YAML
name: Build and Deploy Quartz Site
|
||
|
||
on:
|
||
schedule:
|
||
- cron: '0 6 * * 1' # 每周一早上 6 点(UTC)执行一次定时任务
|
||
push:
|
||
branches:
|
||
- main # 当 main 分支有新提交时触发工作流
|
||
|
||
jobs:
|
||
build-and-deploy:
|
||
environment: prod
|
||
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 "${{ secrets.GITEA_REPO_CLONE }}" /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 GitHub Pages
|
||
uses: peaceiris/actions-gh-pages@v4
|
||
with:
|
||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||
publish_dir: ./public
|
||
cname: x-eden.zopiya.com
|
||
user_name: 'github-actions[bot]'
|
||
user_email: 'github-actions[bot]@users.noreply.github.com' |