name: Build Hexo Site

on:
  push:
    branches: [main, master]
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: https://git.makefire.fun/actions/checkout@v4

      - name: Setup Node.js
        uses: https://git.makefire.fun/actions/setup-node@v4
        with:
          node-version: '20'

      - name: Cache npm dependencies
        uses: actions/cache@v4
        with:
          path: ~/.npm
          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
          restore-keys: |
            ${{ runner.os }}-node-

      - name: Install dependencies
        run: npm install

      - name: Build Hexo
        run: npm run build

      - name: Deploy to local directory
        run: |
          rm -rf /home/ubuntu/html/*
          cp -r public/* /home/ubuntu/html/
          echo "✅ Hexo 构建完成，已输出到 /home/ubuntu/html"