md2hml Project
매번 마크다운 내용을 복사해서 한글에 붙여넣고, 깨진 표를 다시 그리고, 이미지를 삽입하는 번거로운 과정에 지치셨나요? 그래서 만들었습니다. md2hml은 마크다운 파일을 한컴오피스 HWPML(.hml) 형식으로 깔끔하게 변환해 주는 도구입니다.
GitHub - INMD1/md2hml: 마크다운 - 아래아한글 변환기, md2hml
마크다운 - 아래아한글 변환기, md2hml. Contribute to INMD1/md2hml development by creating an account on GitHub.
프로젝트 소개: md2hml
이 프로젝트는 표준 Markdown 파일을 한컴오피스 HWPML(.hml) 형식으로 변환합니다. 단순히 텍스트만 옮기는 것이 아니라, 표, 코드 블록, 이미지 등 복잡한 서식까지 최대한 보존하여 한글에서 바로 편집 가능한 상태로 만들어줍니다.
특히 Python과 Node.js(TypeScript) 두 가지 버전을 모두 지원하여 편한 환경에서 사용할 수 있습니다.
주요 기능 (Key Features)
가장 신경 써서 개발한 기능들은 다음과 같습니다.
- 네이티브 HWP 표 변환: 마크다운의 파이프(
|)로 된 표를 한글의 네이티브 표로 변환합니다. 이미지처럼 박힌 표가 아니므로 한글에서 자유롭게 수정할 수 있습니다. - 코드 블록 스타일링: 개발 문서에 필수인 코드 블록(
```)을 VS Code 스타일의 고정폭 글꼴과 테두리 박스 형태로 변환합니다. - 이미지 자동 임베딩: 로컬 경로나 웹 URL로 링크된 이미지를 자동으로 다운로드/로드하여 Base64로 인코딩해 문서 안에 직접 포함시킵니다. 파일 전달 시 이미지가 누락될 걱정이 없습니다.
- 다양한 서식 지원:
- 강조: 굵게(Bold), 기울임(Italic)
- 목록: 순서 있는 목록, 없는 목록, 중첩 목록, 작업 목록(
[ ],[x]) 지원 - 인용문: 인용 블록 스타일 적용
사용 방법 (How to use)
사용 방법은 매우 간단합니다. 입력 파일과 출력 파일 이름만 지정하면 됩니다.
1. Python 버전 사용 시
외부 라이브러리 의존성 없이 표준 라이브러리만으로 동작하도록 설계했습니다(이미지 처리를 위해 Pillow 등은 필요할 수 있음).
Bash
python3 md2hml.py README.md readme.hml
변환 결과 비교
변환된 .hml 파일은 한글 2018 이상 버전에서 열면 완벽하게 호환됩니다.
| Markdown 문법 | 변환 결과 (HWP) |
# 제목 | 제목 1 스타일 적용 |
**굵게** | 굵은 글씨 적용 |
`코드` | 고정폭 글꼴 적용 |
| ` | 표 |
아직 타입스크립트는 개발버전입니다. 그래서 코드는 공개를 하나 작동이 안될수 있습니다.
남은 일
- 타입스크립트 만들기
- NPM 패키지 올리기
- 웹 클라이언트에서도 작업이 가능하게 하기