#!/usr/bin/env bash # md2docs.sh — 마크다운(.md) 보고서를 베이스로 HTML + PDF 를 생성한다. # 결과물: <입력>.html (자체완결, CSS 인라인), <입력>.pdf (A4, 한글 임베드) # # 사용법: scripts/md2docs.sh docs/보고서_xxxx.md # # 의존성(이미 환경에 설치됨): # - pandoc : md -> html (--self-contained 로 CSS 인라인) # - weasyprint : html -> pdf (pydyf 0.10 호환, py3.8 anaconda) # - 한글 폰트 : ~/.local/share/fonts 의 Malgun Gothic (Windows 폰트 복사) # 최초 1회 환경구성이 필요하면 scripts/README 또는 메모(report-doc-toolchain) 참고. set -euo pipefail MD="${1:-}" [ -z "$MD" ] && { echo "사용법: $0 <파일.md>"; exit 1; } [ -f "$MD" ] || { echo "파일 없음: $MD"; exit 1; } ROOT="$(cd "$(dirname "$0")/.." && pwd)" CSS="$ROOT/docs/assets/report.css" BASE="${MD%.md}" HTML="$BASE.html" PDF="$BASE.pdf" TITLE="$(basename "$BASE")" export PATH="$HOME/.local/bin:$PATH" echo "[1/2] HTML 생성: $HTML" pandoc "$MD" -f gfm -t html5 -s --self-contained -c "$CSS" \ --metadata title="$TITLE" -o "$HTML" echo "[2/2] PDF 생성: $PDF" python3 -m weasyprint "$HTML" "$PDF" echo "완료:" ls -la "$MD" "$HTML" "$PDF"