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.
Files changed (2) hide show
  1. package/README.md +28 -339
  2. 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
- ## 🪟 Windows 완전 초보자 가이드
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
- **💡 핵심**: Node.js + Pandoc만 있으면 **EPUB 변환 가능**!
100
- PDF도 원하면 Python + WeasyPrint 추가 설치
101
-
102
- ### 1️⃣ Node.js 설치 (가스레인지)
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 "C:\Users\사용자\문서.md" --format epub
102
+ npx markdown-to-document-cli@latest "문서.md" --format epub
183
103
 
184
104
  # PDF 변환 (Python + WeasyPrint 필요)
185
- npx markdown-to-document-cli@latest "C:\Users\사용자\문서.md" --format pdf
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
- 💡 **Python이 없다면?** [python.org](https://www.python.org/downloads/)에서 먼저 설치하세요.
458
+ ### PDF 엔진 설치
582
459
 
583
- #### 옵션 2: XeLaTeX 설치 (한글 최적화)
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
- # macOS (Homebrew)
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
- #### **옵션 3: 일회성 우회 (임시 해결)**
474
+ ### 흔한 오류
747
475
 
748
- 관리자 권한 없이 현재 세션에서만 허용:
749
-
750
- ```powershell
751
- Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
752
- npx markdown-to-document-cli@latest interactive
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
- 이미지 오류, 한글 깨짐, 검증 문제 등 다양한 상황에 대한 해결책은 [전체 문제 해결 가이드](./TroubleShooting.md)를 참고하세요.
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.16",
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": {