#!/bin/bash

# Hexo 博客自动部署脚本
# 用于 GitHub Webhook 自动部署

set -e

LOG_FILE="/var/log/hexo-deploy.log"
BLOG_DIR="/root/hexo-blog"

log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}

log "========== 开始部署 =========="

# 进入博客目录
cd "$BLOG_DIR"

# 拉取最新代码
log "正在拉取最新代码..."
git pull origin main >> "$LOG_FILE" 2>&1 || {
    log "❌ git pull 失败"
    exit 1
}
log "✅ 代码拉取完成"

# 生成静态文件
log "正在生成静态文件..."
hexo clean >> "$LOG_FILE" 2>&1
hexo generate >> "$LOG_FILE" 2>&1 || {
    log "❌ hexo generate 失败"
    exit 1
}
log "✅ 静态文件生成完成"

# 重启 Hexo 服务
log "正在重启 Hexo 服务..."
systemctl restart hexo-blog >> "$LOG_FILE" 2>&1 || {
    log "❌ systemctl restart 失败"
    exit 1
}
log "✅ Hexo 服务重启完成"

log "========== 部署完成 =========="

# 发送飞书通知（可选）
if [ -n "$FEISHU_WEBHOOK" ]; then
    curl -X POST -H "Content-Type: application/json" "$FEISHU_WEBHOOK" \
        -d "{
            \"msg_type\": \"text\",
            \"content\": {
                \"text\": \"🎉 博客自动部署成功！\n时间：$(date '+%Y-%m-%d %H:%M:%S')\n提交：$(git rev-parse --short HEAD)\"
            }
        }" >> "$LOG_FILE" 2>&1
fi

exit 0
