name: Build and Deploy Quartz Site on: push: branches: [ main ] jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Clone repository (quartz) run: git clone https://github.com/7Wate/wiki-quartz.git /wiki/quartz - name: Clone repository (wiki) run: git clone https://github.com/7Wate/wiki.git /wiki/quartz/content - name: Set up Node.js 20 uses: actions/setup-node@v2 with: node-version: '20' - name: Install Quartz dependencies and Build site run: | # 设置 README 为首页,并且添加标题 mv /wiki/quartz/content/README.md /wiki/quartz/content/index.md sed -i '1i ---\ntitle: X·Eden\n---' /wiki/quartz/content/index.md # 进入 Quartz 项目目录,安装依赖并构建网站 cd /wiki/quartz && npm ci && npx quartz build # 创建 public 目录并复制构建结果到此目录 mkdir -p /wiki/public/ && cp -r public/* /wiki/public/ - name: Deploy to HTML branch of current repository (A仓库) run: | # 设置 Git 用户名和邮箱 git config --global user.name "Github Actions" git config --global user.email "zhouzhongping@7wate.com" # 在 public 目录下初始化 git 仓库 cd /wiki/public/ && git init && git add . # 获取当天日期作为提交信息 DATE=`date '+%Y-%m-%d'` git commit -m "Deploy HTML files - $DATE" # 添加远程仓库地址 git remote add gitea https://${{ secrets.GITEA_PUSH_PULL_TOKEN }}@git.7wate.com/zhouzhongping/wiki.git # 强制推送到远程的 html 分支 git checkout -b quartz && git push gitea quartz --force