README file from
GithubObsidian HWPX Writer
Obsidian 노트를 HWPX(한글과컴퓨터 한글 문서) 형식으로 변환하는 플러그인.
주요 기능
- Markdown → HWPX 변환 — 헤딩(#~######), 본문, 리스트, 표(GFM), 인용문, 코드 블록, 인라인 서식(굵게·기울임·취소선·코드) 지원
- 실시간 미리보기 — 사이드바에서 변환 결과를 페이지 단위로 확인 (@rhwp/core WASM)
- 템플릿 시스템 — 한컴에서 다듬은 HWPX 파일을 템플릿으로 등록, 스타일(폰트·헤딩·표 테두리 등)을 내 설정으로 복사
- 사용자 설정 관리 — 프리셋 저장/불러오기, 헤딩 H1~H6 세부 스타일, 표 테두리 디자이너(7구간 × 17종 선)
- Obsidian 확장 문법 —
[[위키링크]],![[embed]],> [!NOTE]콜아웃,==하이라이트== - 수식·플레이스홀더 —
$$LaTeX$$블록,{{H1}}/{{BODY}}/{{CELL_*}}템플릿 스타일 견본
설치
Obsidian 커뮤니티 플러그인 (준비 중)
설정 → 커뮤니티 플러그인 → 검색에서 HWPX Writer 검색- 설치 → 활성화
수동 설치
- Releases 에서 최신
main.js,manifest.json,styles.css다운로드 - vault 의
.obsidian/plugins/obsidian-hwpx-writer/폴더에 복사 - Obsidian 재시작 → 설정에서 플러그인 활성화
사용법
기본 변환
- 리본 아이콘 또는 명령 팔레트에서 HWPX Writer 패널 열기
.md파일을 열고 📄 HWPX로 내보내기 클릭- 같은 폴더에
<파일명>.hwpx생성 (기본 출력 폴더는 설정에서 변경 가능)
템플릿 적용
- 사이드바 → 📋 템플릿 섹션 펼침
📋 샘플로 내장 템플릿 추가 (또는📥 가져오기로 외부 .hwpx 임포트)- 원하는 템플릿 옆 적용 클릭 → 폰트/헤딩/표 스타일이 설정에 복사됨
- 내보내기 → 템플릿 스타일 반영된 HWPX 생성
현재 설정 저장
설정을 많이 커스터마이즈한 뒤 다른 템플릿 실험 전에:
- 템플릿 섹션의 💾 현재 설정 버튼 → 현재 스타일 스냅샷을 템플릿으로 저장
- 나중에 언제든 "적용" 으로 복원
YAML Frontmatter 오버라이드
문서별로 설정을 덮어쓰려면:
---
preset: 학술 논문
font-hangul: 함초롬바탕
body-size: 11
margin-left: 25
---
# 본문 시작
지원 키: preset, paper, landscape, margin-*, font-hangul, font-latin, body-size, line-spacing, link-color, math-mode, output-folder.
설정 영역
| 영역 | 내용 |
|---|---|
| 🎨 프리셋 | 설정 스냅샷 저장/복원. 기본/공문 양식/학술 논문/프레젠테이션 내장 |
| 📋 템플릿 | HWPX 파일 기반 스타일 템플릿. md2hwpx 보고양식 번들 포함 |
| 페이지 설정 | 용지 크기(A4/B5/Letter), 가로/세로, 여백 6종 |
| 헤딩 스타일 | H1~H6 각각 폰트 크기·색·굵게·기울임·페이지 나누기·빈 줄 |
| 본문 스타일 | 본문/리스트/표/코드 탭. 표는 7구간 × 17종 선 디자이너 |
마크다운 지원 범위
- 블록: 헤딩(#~######), 문단, 순서/비순서 리스트(중첩 지원), 표(GFM), 인용문, 코드 블록(```), 수평선, 수식 블록(
$$...$$) - 인라인:
**굵게**,*기울임*,~~취소선~~,`인라인 코드`,[링크](url), 이스케이프(\*) - GFM 확장:
- [x]태스크 리스트,~~strikethrough~~ - Obsidian 확장:
[[위키링크]],[[a|alias]],[[a#heading]],![[embed]],> [!NOTE] 콜아웃,==하이라이트==
알려진 한계
- desktop only — Electron 의존(파일 시스템 · 외부 프로그램 실행)
- 이미지 삽입 미구현 —
은[이미지: alt]로 표시 - 각주(
[^1]) 미구현
개발
npm install
npm run build # 프로덕션 빌드 → main.js
npm run dev # 개발 모드 (watch)
npm test # 85개 단위/통합 테스트