markdown-to-document-cli 1.5.16 → 1.5.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -339
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -83,134 +83,31 @@
|
|
|
83
83
|
- **임시 디렉토리 관리**: 안전한 임시 파일 처리
|
|
84
84
|
- **버전 호환성**: Pandoc 2.x 및 3.x 지원
|
|
85
85
|
|
|
86
|
-
##
|
|
86
|
+
## Windows 사용자 가이드
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
Windows에서 처음 시작하시나요? 아래 가이드를 참조하세요.
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
> **[WINDOWS_QUICKSTART.md](./WINDOWS_QUICKSTART.md)** - Windows 완전 초보자를 위한 상세 설치 가이드
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|------|------|------|
|
|
94
|
-
| 🔥 가스레인지 | **Node.js** | 프로그램 실행 환경 |
|
|
95
|
-
| 🍳 프라이팬 | **Pandoc** | 문서 변환 도구 |
|
|
96
|
-
| 🧑🍳 요리사 | **NpxMagicDoc** | 모든 것을 조합하는 셰프 |
|
|
97
|
-
| 🖨️ 오븐 | **Python + WeasyPrint** | PDF 만들 때만 필요 |
|
|
92
|
+
### 빠른 요약
|
|
98
93
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
1. [nodejs.org](https://nodejs.org/) 방문
|
|
105
|
-
2. **LTS 버전** (왼쪽 초록 버튼) 다운로드
|
|
106
|
-
3. 설치 시 **"Automatically install the necessary tools"** 체크 ☑️
|
|
107
|
-
4. 설치 완료 후 **컴퓨터 재시작**
|
|
108
|
-
|
|
109
|
-
```powershell
|
|
110
|
-
# 확인 (PowerShell에서)
|
|
111
|
-
node --version # v20.x.x 나오면 성공!
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### 2️⃣ Pandoc 설치 (프라이팬)
|
|
115
|
-
|
|
116
|
-
1. [pandoc.org/installing.html](https://pandoc.org/installing.html) 방문
|
|
117
|
-
2. Windows 설치 파일 다운로드 (`.msi`)
|
|
118
|
-
3. 더블클릭해서 설치
|
|
119
|
-
|
|
120
|
-
```powershell
|
|
121
|
-
# 확인 (새 PowerShell 창에서)
|
|
122
|
-
pandoc --version # pandoc 3.x.x 나오면 성공!
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### 🎉 여기까지 하면 EPUB 변환 가능!
|
|
126
|
-
|
|
127
|
-
```powershell
|
|
128
|
-
npx markdown-to-document-cli@latest interactive
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### 3️⃣ Python 설치 (PDF용 오븐)
|
|
132
|
-
|
|
133
|
-
> ⚠️ **PDF 변환에 필요합니다!** (EPUB만 필요하면 건너뛰세요)
|
|
134
|
-
|
|
135
|
-
1. [python.org/downloads](https://www.python.org/downloads/) 방문
|
|
136
|
-
2. **"Download Python 3.x.x"** 클릭
|
|
137
|
-
3. **⚠️ 매우 중요!** 설치 시 **"Add python.exe to PATH"** 반드시 체크 ☑️
|
|
138
|
-
4. "Install Now" 클릭
|
|
139
|
-
5. 컴퓨터 재시작
|
|
140
|
-
|
|
141
|
-
```powershell
|
|
142
|
-
# 확인
|
|
143
|
-
python --version # Python 3.x.x 나오면 성공!
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### 4️⃣ [필수] WeasyPrint 설치 (PDF 엔진)
|
|
147
|
-
|
|
148
|
-
> ⚠️ **PDF 변환에 필수!** v1.5.7부터 Windows에서 WeasyPrint 없이 PDF 변환 시 에러가 발생합니다.
|
|
149
|
-
|
|
150
|
-
```powershell
|
|
151
|
-
pip install weasyprint
|
|
152
|
-
weasyprint --version # 성공 확인
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
**왜 필수인가요?**
|
|
156
|
-
- WeasyPrint: Mac과 **100% 동일한** 고품질 PDF 생성
|
|
157
|
-
- LaTeX (MiKTeX): HTML 태그 노출, 레이아웃 깨짐 발생
|
|
158
|
-
- v1.5.7부터 Windows에서 LaTeX 자동 선택이 차단됩니다
|
|
159
|
-
|
|
160
|
-
#### 🧯 Windows 설치 오류 (libgobject-2.0-0)
|
|
161
|
-
|
|
162
|
-
```powershell
|
|
163
|
-
# 오류 메시지 예시
|
|
164
|
-
WeasyPrint could not import some external libraries...
|
|
165
|
-
OSError: cannot load library 'libgobject-2.0-0'
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
| 원인 | 해결 방법 |
|
|
169
|
-
|------|-----------|
|
|
170
|
-
| GTK/Pango DLL 미설치 | 1) [MSYS2](https://www.msys2.org/) 설치 <br> 2) MSYS2 UCRT64 터미널에서 `pacman -Syu` <br> 3) `pacman -S mingw-w64-ucrt-x86_64-gtk3 mingw-w64-ucrt-x86_64-pango mingw-w64-ucrt-x86_64-cairo` |
|
|
171
|
-
| PATH에 DLL 없음 | `C:\msys64\ucrt64\bin` 경로를 **시스템 PATH**에 추가 후 PowerShell 재시작 |
|
|
172
|
-
|
|
173
|
-
```powershell
|
|
174
|
-
# 설치 후 다시 확인
|
|
175
|
-
weasyprint --version
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
### 🚀 바로 사용하기
|
|
94
|
+
| 필요 도구 | 용도 | 설치 확인 |
|
|
95
|
+
|-----------|------|-----------|
|
|
96
|
+
| **Node.js** | 프로그램 실행 | `node --version` |
|
|
97
|
+
| **Pandoc** | 문서 변환 | `pandoc --version` |
|
|
98
|
+
| **Python + WeasyPrint** | PDF 생성 (선택) | `weasyprint --version` |
|
|
179
99
|
|
|
180
100
|
```powershell
|
|
181
101
|
# EPUB 변환 (Node.js + Pandoc만 필요)
|
|
182
|
-
npx markdown-to-document-cli@latest "
|
|
102
|
+
npx markdown-to-document-cli@latest "문서.md" --format epub
|
|
183
103
|
|
|
184
104
|
# PDF 변환 (Python + WeasyPrint 필요)
|
|
185
|
-
npx markdown-to-document-cli@latest "
|
|
105
|
+
npx markdown-to-document-cli@latest "문서.md" --format pdf
|
|
186
106
|
|
|
187
107
|
# 대화형 모드 (가장 쉬움!)
|
|
188
108
|
npx markdown-to-document-cli@latest interactive
|
|
189
109
|
```
|
|
190
110
|
|
|
191
|
-
### 💡 Windows 터미널 붙여넣기 팁
|
|
192
|
-
|
|
193
|
-
**Ctrl+V가 안 될 때:**
|
|
194
|
-
| 방법 | 설명 |
|
|
195
|
-
|------|------|
|
|
196
|
-
| **마우스 오른쪽 클릭** | 가장 확실한 방법! 클릭만 하면 붙여넣기 |
|
|
197
|
-
| **Ctrl+Shift+V** | 일부 최신 터미널에서 작동 |
|
|
198
|
-
| **Windows Terminal 설치** | Microsoft Store에서 설치, Ctrl+V 기본 지원 |
|
|
199
|
-
|
|
200
|
-
> 💡 CMD 창 제목 표시줄 우클릭 → 속성 → "Ctrl 키 바로 가기 사용" 체크하면 Ctrl+V 활성화!
|
|
201
|
-
|
|
202
|
-
### ❓ 문제 해결
|
|
203
|
-
|
|
204
|
-
| 오류 | 해결 방법 |
|
|
205
|
-
|------|-----------|
|
|
206
|
-
| `'m2d' 인식 안됨` | **npx 사용**: `npx markdown-to-document-cli@latest interactive` |
|
|
207
|
-
| `'node' 인식 안됨` | 컴퓨터 재시작 후 새 PowerShell 열기 |
|
|
208
|
-
| `'python' 인식 안됨` | Python 삭제 → 재설치 시 **PATH 체크** |
|
|
209
|
-
| `'pip' 인식 안됨` | Python 재설치 필요 |
|
|
210
|
-
| `Ctrl+V 안됨` | 마우스 오른쪽 클릭으로 붙여넣기 |
|
|
211
|
-
|
|
212
|
-
> 📚 **상세 가이드**: [TroubleShooting.md](./TroubleShooting.md)의 "Windows 완전 초보자를 위한 설치 가이드" 참조
|
|
213
|
-
|
|
214
111
|
---
|
|
215
112
|
|
|
216
113
|
## 📦 설치
|
|
@@ -556,242 +453,34 @@ publisher: 출판사명
|
|
|
556
453
|
- **CLI 프레임워크**: Commander.js
|
|
557
454
|
- **PDF 엔진**: WeasyPrint (선택사항)
|
|
558
455
|
|
|
559
|
-
##
|
|
560
|
-
|
|
561
|
-
### ❌ PDF 변환 실패: "xelatex not found" 또는 "PDF 엔진을 찾을 수 없습니다"
|
|
562
|
-
|
|
563
|
-
**🤔 왜 이런 오류가 나올까요?**
|
|
564
|
-
|
|
565
|
-
PDF를 만들려면 **"PDF 제작 엔진"**이 필요합니다. 마치 빵을 굽기 위해 오븐이 필요한 것처럼요!
|
|
566
|
-
|
|
567
|
-
이 오류는 "오븐이 없어서 빵을 구울 수 없어요"라는 뜻입니다. 아래 방법 중 하나를 선택해서 해결하세요.
|
|
568
|
-
|
|
569
|
-
#### 옵션 1: WeasyPrint 설치 (추천 ⭐)
|
|
570
|
-
|
|
571
|
-
**가장 쉽고 빠른 방법!** 한글도 완벽하게 지원합니다.
|
|
572
|
-
|
|
573
|
-
```bash
|
|
574
|
-
# Python pip 사용
|
|
575
|
-
pip install weasyprint
|
|
576
|
-
|
|
577
|
-
# 또는 Python 3
|
|
578
|
-
pip3 install weasyprint
|
|
579
|
-
```
|
|
456
|
+
## 문제 해결
|
|
580
457
|
|
|
581
|
-
|
|
458
|
+
### PDF 엔진 설치
|
|
582
459
|
|
|
583
|
-
|
|
460
|
+
PDF 변환에는 PDF 엔진이 필요합니다.
|
|
584
461
|
|
|
585
|
-
|
|
462
|
+
| 엔진 | 설치 명령어 | 특징 |
|
|
463
|
+
|------|-------------|------|
|
|
464
|
+
| **WeasyPrint** (권장) | `pip install weasyprint` | 가장 쉬움, 한글 완벽 지원 |
|
|
465
|
+
| **XeLaTeX** | macOS: `brew install --cask basictex` | 전문 출판 품질 |
|
|
466
|
+
| **PDFLaTeX** | Linux: `sudo apt install texlive-latex-base` | 기본 LaTeX |
|
|
586
467
|
|
|
587
468
|
```bash
|
|
588
|
-
#
|
|
589
|
-
brew install --cask basictex
|
|
590
|
-
# 설치 후 PATH 업데이트
|
|
591
|
-
eval "$(/usr/libexec/path_helper)"
|
|
592
|
-
|
|
593
|
-
# 또는 전체 TeX Live 설치
|
|
594
|
-
brew install --cask mactex
|
|
595
|
-
|
|
596
|
-
# Windows
|
|
597
|
-
choco install miktex
|
|
598
|
-
|
|
599
|
-
# Linux (Ubuntu/Debian)
|
|
600
|
-
sudo apt-get install texlive-xetex texlive-fonts-recommended
|
|
601
|
-
|
|
602
|
-
# Linux (Fedora)
|
|
603
|
-
sudo dnf install texlive-xetex
|
|
604
|
-
```
|
|
605
|
-
|
|
606
|
-
⚠️ **중요**: 설치 후 터미널을 다시 시작하세요!
|
|
607
|
-
🪟 **Windows**: MiKTeX 설치 후 첫 실행 시 패키지 자동 설치를 허용하세요.
|
|
608
|
-
|
|
609
|
-
#### 옵션 3: PDFLaTeX 설치
|
|
610
|
-
|
|
611
|
-
```bash
|
|
612
|
-
# macOS
|
|
613
|
-
brew install --cask basictex
|
|
614
|
-
|
|
615
|
-
# Linux (Ubuntu/Debian)
|
|
616
|
-
sudo apt-get install texlive-latex-base
|
|
617
|
-
```
|
|
618
|
-
|
|
619
|
-
#### ✓ 설치 확인하기
|
|
620
|
-
|
|
621
|
-
오븐이 제대로 설치되었는지 확인해 봅시다:
|
|
622
|
-
|
|
623
|
-
```bash
|
|
624
|
-
# WeasyPrint 확인
|
|
469
|
+
# 설치 확인
|
|
625
470
|
weasyprint --version
|
|
626
|
-
|
|
627
|
-
# XeLaTeX 확인
|
|
628
471
|
xelatex --version
|
|
629
|
-
|
|
630
|
-
# PDFLaTeX 확인
|
|
631
|
-
pdflatex --version
|
|
632
|
-
```
|
|
633
|
-
|
|
634
|
-
버전 번호가 나오면 성공! 🎉
|
|
635
|
-
|
|
636
|
-
#### 💡 프로 팁: 특정 엔진 지정하기
|
|
637
|
-
|
|
638
|
-
여러 개를 설치했다면, 원하는 엔진을 직접 선택할 수 있습니다:
|
|
639
|
-
|
|
640
|
-
```bash
|
|
641
|
-
# 자동 선택 (기본값 - 권장)
|
|
642
|
-
m2d document.md --pdf-engine auto
|
|
643
|
-
|
|
644
|
-
# WeasyPrint로 PDF 만들기
|
|
645
|
-
m2d document.md --pdf-engine weasyprint
|
|
646
|
-
|
|
647
|
-
# XeLaTeX로 PDF 만들기
|
|
648
|
-
m2d document.md --pdf-engine xelatex
|
|
649
|
-
|
|
650
|
-
# PDFLaTeX로 PDF 만들기
|
|
651
|
-
m2d document.md --pdf-engine pdflatex
|
|
652
|
-
```
|
|
653
|
-
|
|
654
|
-
---
|
|
655
|
-
|
|
656
|
-
### ❌ 변환 실패: "require is not defined"
|
|
657
|
-
|
|
658
|
-
**증상**:
|
|
659
|
-
```
|
|
660
|
-
✖ 변환 실패
|
|
661
|
-
|
|
662
|
-
❌ 오류:
|
|
663
|
-
• require is not defined
|
|
664
|
-
```
|
|
665
|
-
|
|
666
|
-
**원인**:
|
|
667
|
-
- v1.5.2 이하 버전의 ESM/CommonJS 호환성 문제
|
|
668
|
-
|
|
669
|
-
**해결 방법**:
|
|
670
|
-
|
|
671
|
-
최신 버전(v1.5.3 이상)으로 업데이트하세요:
|
|
672
|
-
|
|
673
|
-
```bash
|
|
674
|
-
# 캐시 클리어 후 최신 버전 실행
|
|
675
|
-
npx clear-npx-cache
|
|
676
|
-
npx markdown-to-document-cli@latest interactive
|
|
677
|
-
|
|
678
|
-
# 또는 전역 설치 업데이트
|
|
679
|
-
npm uninstall -g markdown-to-document-cli
|
|
680
|
-
npm install -g markdown-to-document-cli
|
|
681
|
-
```
|
|
682
|
-
|
|
683
|
-
자세한 내용은 [TroubleShooting.md](./TroubleShooting.md#esm-모듈-오류)를 참조하세요.
|
|
684
|
-
|
|
685
|
-
---
|
|
686
|
-
|
|
687
|
-
### Pandoc을 찾을 수 없음
|
|
688
|
-
|
|
689
|
-
```bash
|
|
690
|
-
# Pandoc 설치 확인
|
|
691
|
-
pandoc --version
|
|
692
|
-
|
|
693
|
-
# 커스텀 경로 지정
|
|
694
|
-
m2d document.md --pandoc-path /path/to/pandoc
|
|
695
|
-
```
|
|
696
|
-
|
|
697
|
-
**설치 방법**:
|
|
698
|
-
- macOS: `brew install pandoc`
|
|
699
|
-
- Windows: `choco install pandoc`
|
|
700
|
-
- Linux (Ubuntu/Debian): `sudo apt-get update && sudo apt-get install pandoc`
|
|
701
|
-
- Linux (Fedora/RHEL): `sudo dnf install pandoc`
|
|
702
|
-
|
|
703
|
-
---
|
|
704
|
-
|
|
705
|
-
### Windows PowerShell 실행 정책 오류
|
|
706
|
-
|
|
707
|
-
**증상**: Windows PowerShell에서 `npx` 또는 `m2d` 실행 시 다음 오류 발생
|
|
708
|
-
```powershell
|
|
709
|
-
npx : File C:\Program Files\nodejs\npx.ps1 cannot be loaded because running scripts is disabled on this system.
|
|
710
|
-
```
|
|
711
|
-
|
|
712
|
-
**원인**:
|
|
713
|
-
- Windows PowerShell의 기본 실행 정책이 스크립트 실행을 차단함
|
|
714
|
-
- 보안 설정으로 인해 Node.js 스크립트 실행 불가
|
|
715
|
-
|
|
716
|
-
**해결 방법**:
|
|
717
|
-
|
|
718
|
-
#### **옵션 1: CMD 사용 (가장 빠름, 권장)**
|
|
719
|
-
|
|
720
|
-
PowerShell 대신 명령 프롬프트(CMD)를 사용하면 실행 정책 문제가 없습니다:
|
|
721
|
-
|
|
722
|
-
```cmd
|
|
723
|
-
# CMD(명령 프롬프트) 실행 후
|
|
724
|
-
npx markdown-to-document-cli@latest interactive
|
|
725
|
-
|
|
726
|
-
# 또는 전역 설치 후
|
|
727
|
-
m2d interactive
|
|
728
|
-
```
|
|
729
|
-
|
|
730
|
-
#### **옵션 2: 실행 정책 변경 (영구적 해결)**
|
|
731
|
-
|
|
732
|
-
PowerShell을 **관리자 권한**으로 실행한 후:
|
|
733
|
-
|
|
734
|
-
```powershell
|
|
735
|
-
# 현재 사용자에 대해 실행 정책 변경
|
|
736
|
-
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
|
737
|
-
|
|
738
|
-
# 확인 메시지가 나오면 'Y' 입력
|
|
739
|
-
```
|
|
740
|
-
|
|
741
|
-
그 다음 일반 PowerShell에서 다시 시도:
|
|
742
|
-
```powershell
|
|
743
|
-
npx markdown-to-document-cli@latest interactive
|
|
744
472
|
```
|
|
745
473
|
|
|
746
|
-
|
|
474
|
+
### 흔한 오류
|
|
747
475
|
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
**💡 권장**: Windows 사용자는 **CMD(명령 프롬프트)**를 사용하는 것이 가장 간단합니다.
|
|
756
|
-
|
|
757
|
-
---
|
|
758
|
-
|
|
759
|
-
### 파일 경로 오류
|
|
760
|
-
|
|
761
|
-
**증상**: "파일을 찾을 수 없습니다" 또는 경로에 백슬래시(`\`)가 포함됨
|
|
762
|
-
|
|
763
|
-
**해결 방법**:
|
|
764
|
-
1. **드래그 앤 드롭 사용** (가장 쉬움)
|
|
765
|
-
- 파일을 터미널 창으로 드래그하세요
|
|
766
|
-
- 경로가 자동으로 입력됩니다
|
|
767
|
-
|
|
768
|
-
2. **따옴표로 감싸기**
|
|
769
|
-
```bash
|
|
770
|
-
m2d "/Users/username/My Documents/file.md"
|
|
771
|
-
```
|
|
772
|
-
|
|
773
|
-
3. **백슬래시 제거**
|
|
774
|
-
```bash
|
|
775
|
-
# ❌ 잘못된 예
|
|
776
|
-
m2d /Users/username/My\ Documents/file.md
|
|
777
|
-
|
|
778
|
-
# ✅ 올바른 예
|
|
779
|
-
m2d "/Users/username/My Documents/file.md"
|
|
780
|
-
```
|
|
781
|
-
|
|
782
|
-
**자동 수정 기능**: CLI가 자동으로 경로를 정리하고 검증합니다.
|
|
783
|
-
|
|
784
|
-
### 이미지를 찾을 수 없음
|
|
785
|
-
|
|
786
|
-
이미지 파일이 마크다운 파일과 동일한 디렉토리 또는 `images/`, `attachments/`, `assets/`, `media/` 폴더에 있는지 확인하세요.
|
|
787
|
-
|
|
788
|
-
**지원하는 이미지 형식**: PNG, JPG/JPEG, GIF, SVG, WebP
|
|
789
|
-
|
|
790
|
-
---
|
|
791
|
-
|
|
792
|
-
### 📚 더 많은 문제 해결
|
|
476
|
+
| 오류 | 해결 방법 |
|
|
477
|
+
|------|-----------|
|
|
478
|
+
| `m2d` 인식 안됨 | `npx markdown-to-document-cli@latest` 사용 |
|
|
479
|
+
| Pandoc 없음 | macOS: `brew install pandoc`, Windows: `choco install pandoc` |
|
|
480
|
+
| PowerShell 정책 오류 | CMD 사용 또는 `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser` |
|
|
481
|
+
| 파일 경로 오류 | 파일을 터미널로 드래그 앤 드롭 |
|
|
793
482
|
|
|
794
|
-
|
|
483
|
+
> **상세 가이드**: [TroubleShooting.md](./TroubleShooting.md)
|
|
795
484
|
|
|
796
485
|
## 📄 라이선스
|
|
797
486
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markdown-to-document-cli",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.17",
|
|
4
4
|
"description": "Professional-grade EPUB/PDF conversion tool for Markdown files. 8 validation modules, auto-fix, typography presets, font subsetting (99% size reduction), ISBN validation, copyright page generation.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|