@echo off
rem ===================================================================
rem  RTGS 문서 변환기 — 개발 중엔 .md 로 관리하고, 완성 시 정식 파일 생성.
rem  사용법:
rem    convert.cmd pptx  ["문서.md"]     ->  PowerPoint (pandoc, 직접)
rem    convert.cmd docx  ["문서.md"]     ->  Word (중간 산출물/편집용)
rem    convert.cmd pdf   ["문서.md"]     ->  PDF (pandoc html -> Edge 헤드리스 인쇄)
rem    convert.cmd all                    ->  docs 폴더 모든 *.md 를 pptx+pdf 로
rem  결과물: docs\_dist\
rem  주의: Mermaid( ```mermaid ) 다이어그램은 PPT/PDF에서 자동 렌더 안 됨.
rem        그림으로 넣으려면 완성 시 render-mermaid 로 PNG 선(先)렌더 후 변환.
rem        (참조용 *.png 는 그대로 이미지로 들어감)
rem ===================================================================
setlocal enabledelayedexpansion
set "DOCS=%~dp0.."
set "OUTDIR=%DOCS%\_dist"
if not exist "%OUTDIR%" mkdir "%OUTDIR%"
where pandoc >nul 2>&1 || (echo [오류] pandoc 없음 & exit /b 1)

set "FMT=%~1"
if "%FMT%"=="" set "FMT=pptx"

if /I "%FMT%"=="all" (
  pushd "%DOCS%"
  for %%F in (*.md) do ( call :pptx "%%~fF" & call :pdf "%%~fF" )
  popd
  goto :done
)

if not "%~2"=="" ( call :%FMT% "%~2" ) else (
  pushd "%DOCS%"
  for %%F in (*.md) do call :%FMT% "%%~fF"
  popd
)
goto :done

:pptx
echo [PPTX] %~nx1
pandoc "%~1" -o "%OUTDIR%\%~n1.pptx" -f gfm
exit /b 0

:docx
echo [DOCX] %~nx1
pandoc "%~1" -o "%OUTDIR%\%~n1.docx" --toc --toc-depth=3 -f gfm
exit /b 0

:pdf
echo [PDF ] %~nx1
pandoc "%~1" -o "%OUTDIR%\%~n1.html" -s --embed-resources -f gfm --metadata title="%~n1"
set "EDGE=C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
if not exist "%EDGE%" set "EDGE=C:\Program Files\Microsoft\Edge\Application\msedge.exe"
if exist "%EDGE%" (
  "%EDGE%" --headless --disable-gpu --no-pdf-header-footer --print-to-pdf="%OUTDIR%\%~n1.pdf" "%OUTDIR%\%~n1.html" >nul 2>&1
  echo    -> %~n1.pdf
) else (
  echo    [알림] Edge 미발견 -> %~n1.html 생성됨. Word/PPT에서 PDF로 내보내세요.
)
exit /b 0

:done
echo.
echo [완료] 결과물 폴더: %OUTDIR%
endlocal
exit /b 0
