#!/bin/bash

# sgClaw 文档一键导出 PDF 脚本
# 使用方法：chmod +x export-all-pdf.sh && ./export-all-pdf.sh

echo "============================================================"
echo "📄 sgClaw 文档一键导出 PDF"
echo "============================================================"
echo ""

# 创建输出目录
mkdir -p pdfs
echo "✅ 创建输出目录: pdfs/"
echo ""

# 定义需要导出的文档
declare -A docs=(
  ["协作时间表.html"]="协作时间表_interactive.pdf"
  ["协作时间表_printable.md"]="协作时间表.pdf"
  ["协作甘特图_printable.md"]="协作甘特图.pdf"
  ["团队分工.md"]="团队分工.pdf"
)

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📋 导出清单"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

# 列出所有文件
for src in "${!docs[@]}"; do
  if [ -f "$src" ]; then
    size=$(du -h "$src" | cut -f1)
    dst="${docs[$src]}"
    echo "  📄 $src ($size) → pdfs/$dst"
  fi
done

echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🚀 选择导出方式"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "1) 自动导出（使用 wkhtmltopdf，需要安装）"
echo "2) 浏览器手动打印（推荐，最美观）"
echo "3) 在线工具（最简单）"
echo "4) VS Code 插件（最专业）"
echo ""
read -p "请选择 (1-4): " choice

case $choice in
  1)
    # 检查 wkhtmltopdf 是否安装
    if ! command -v wkhtmltopdf &> /dev/null; then
      echo ""
      echo "⚠️  未安装 wkhtmltopdf，正在尝试安装..."
      echo ""
      if command -v apt-get &> /dev/null; then
        sudo apt-get update && sudo apt-get install -y wkhtmltopdf
      elif command -v yum &> /dev/null; then
        sudo yum install -y wkhtmltopdf
      else
        echo "❌ 无法自动安装，请手动安装 wkhtmltopdf"
        echo "   访问: https://wkhtmltopdf.org/downloads.html"
        exit 1
      fi
    fi

    echo ""
    echo "开始自动导出..."
    echo ""

    # 导出 HTML 文件
    if [ -f "协作时间表.html" ]; then
      echo "📄 处理: 协作时间表.html"
      wkhtmltopdf --enable-local-file-access \
                  --orientation Landscape \
                  --page-size A4 \
                  协作时间表.html \
                  pdfs/协作时间表_interactive.pdf 2>/dev/null
      if [ $? -eq 0 ]; then
        echo "   ✅ 成功: pdfs/协作时间表_interactive.pdf"
      else
        echo "   ❌ 失败"
      fi
    fi

    # 导出 Markdown 文件（先转 HTML）
    for md_file in 协作时间表_printable.md 协作甘特图_printable.md 团队分工.md; do
      if [ -f "$md_file" ]; then
        echo ""
        echo "📄 处理: $md_file"

        # 创建临时 HTML
        temp_html="/tmp/${md_file%.md}.html"
        cat > "$temp_html" << 'HTML_HEAD'
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<style>
  body {
    font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
    max-width: 900px;
    margin: 40px auto;
    padding: 20px;
    line-height: 1.8;
  }
  h1 { color: #1e40af; border-bottom: 3px solid #3b82f6; padding-bottom: 10px; }
  h2 { color: #2563eb; margin-top: 30px; }
  table { width: 100%; border-collapse: collapse; margin: 20px 0; }
  th, td { border: 1px solid #ddd; padding: 10px; }
  th { background: #3b82f6; color: white; }
  img { max-width: 100%; height: auto; }
  code { background: #f1f5f9; padding: 2px 6px; border-radius: 3px; }
  pre { background: #1e293b; color: #f1f5f9; padding: 15px; border-radius: 6px; }
</style>
</head>
<body>
HTML_HEAD

        # 简单的 Markdown to HTML（保留图片链接）
        sed 's/^# \(.*\)/<h1>\1<\/h1>/g; s/^## \(.*\)/<h2>\1<\/h2>/g; s/^### \(.*\)/<h3>\1<\/h3>/g' "$md_file" >> "$temp_html"

        echo '</body></html>' >> "$temp_html"

        # 转 PDF
        pdf_file="pdfs/${md_file%.md}.pdf"
        pdf_file="${pdf_file/_printable/}"

        wkhtmltopdf --enable-local-file-access \
                    --orientation Portrait \
                    --page-size A4 \
                    "$temp_html" \
                    "$pdf_file" 2>/dev/null

        if [ $? -eq 0 ]; then
          echo "   ✅ 成功: $pdf_file"
        else
          echo "   ❌ 失败"
        fi

        rm -f "$temp_html"
      fi
    done

    echo ""
    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
    echo "✅ 导出完成！"
    ;;

  2)
    echo ""
    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
    echo "🌐 浏览器手动打印步骤"
    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
    echo ""
    echo "正在打开文件..."
    firefox 协作时间表.html 2>/dev/null &
    sleep 1
    firefox 协作时间表_printable.md 2>/dev/null &
    sleep 1
    firefox 团队分工.md 2>/dev/null &
    echo ""
    echo "✅ 已在浏览器中打开文档"
    echo ""
    echo "对每个文件："
    echo "  1. 按 Ctrl+P（或 Cmd+P）"
    echo "  2. 目标打印机：选择「另存为 PDF」"
    echo "  3. 方向：选择「横向」（甘特图）或「纵向」（其他）"
    echo "  4. 保存到 pdfs/ 目录"
    echo "  5. 点击「保存」"
    ;;

  3)
    echo ""
    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
    echo "🌍 在线工具"
    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
    echo ""
    echo "推荐工具："
    echo ""
    echo "  📄 Markdown to PDF:"
    echo "     https://markdown2pdf.com"
    echo "     https://www.markdowntopdf.com"
    echo ""
    echo "  🎨 HTML to PDF:"
    echo "     https://www.sejda.com/html-to-pdf"
    echo "     https://html2pdf.com"
    echo ""
    echo "使用步骤："
    echo "  1. 访问上述网站"
    echo "  2. 上传文件（见下方文件列表）"
    echo "  3. 下载生成的 PDF"
    echo "  4. 保存到 pdfs/ 目录"
    echo ""
    echo "文件列表："
    echo "  • 协作时间表.html"
    echo "  • 协作时间表_printable.md"
    echo "  • 协作甘特图_printable.md"
    echo "  • 团队分工.md"
    echo ""
    echo "文件位置: $(pwd)/"

    # 打开文件管理器
    xdg-open . 2>/dev/null &
    ;;

  4)
    echo ""
    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
    echo "📝 VS Code 插件方法"
    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
    echo ""
    echo "步骤："
    echo "  1. 打开 VS Code"
    echo "  2. 安装插件：Markdown PDF"
    echo "     (Ctrl+Shift+X 搜索 \"Markdown PDF\")"
    echo ""
    echo "  3. 打开 Markdown 文件："
    echo "     code 协作时间表_printable.md"
    echo "     code 协作甘特图_printable.md"
    echo "     code 团队分工.md"
    echo ""
    echo "  4. 右键 → \"Markdown PDF: Export (pdf)\""
    echo ""
    echo "  5. PDF 会自动保存到同目录"
    echo ""

    # 提供快捷命令
    echo "快捷命令："
    echo "  code 协作时间表_printable.md &"
    ;;

  *)
    echo ""
    echo "❌ 无效选择"
    exit 1
    ;;
esac

echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📊 输出目录"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "PDF 文件将保存到："
echo "  $(pwd)/pdfs/"
echo ""

# 列出已生成的 PDF
if ls pdfs/*.pdf 1> /dev/null 2>&1; then
  echo "已生成的 PDF 文件："
  ls -lh pdfs/*.pdf | awk '{printf "  • %s (%s)\n", $9, $5}'
else
  echo "（尚无 PDF 文件）"
fi

echo ""
echo "============================================================"
echo "完成！🎉"
echo "============================================================"
