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) 형식으로 변환합니다. 단순히 텍스트만 옮기는 것이 아니라, 표, 코드 블록, 이미지 등 복잡한 서식까지 최대한 보존하여 한글에서 바로 편집 가능한 상태로 만들어줍니다.

특히 PythonNode.js(TypeScript) 두 가지 버전을 모두 지원하여 편한 환경에서 사용할 수 있습니다.

주요 기능 (Key Features)

가장 신경 써서 개발한 기능들은 다음과 같습니다.

  1. 네이티브 HWP 표 변환: 마크다운의 파이프(|)로 된 표를 한글의 네이티브 표로 변환합니다. 이미지처럼 박힌 표가 아니므로 한글에서 자유롭게 수정할 수 있습니다.
  2. 코드 블록 스타일링: 개발 문서에 필수인 코드 블록(```)을 VS Code 스타일의 고정폭 글꼴과 테두리 박스 형태로 변환합니다.
  3. 이미지 자동 임베딩: 로컬 경로나 웹 URL로 링크된 이미지를 자동으로 다운로드/로드하여 Base64로 인코딩해 문서 안에 직접 포함시킵니다. 파일 전달 시 이미지가 누락될 걱정이 없습니다.
  4. 다양한 서식 지원:
    • 강조: 굵게(Bold), 기울임(Italic)
    • 목록: 순서 있는 목록, 없는 목록, 중첩 목록, 작업 목록([ ], [x]) 지원
    • 인용문: 인용 블록 스타일 적용

사용 방법 (How to use)

사용 방법은 매우 간단합니다. 입력 파일과 출력 파일 이름만 지정하면 됩니다.

1. Python 버전 사용 시

외부 라이브러리 의존성 없이 표준 라이브러리만으로 동작하도록 설계했습니다(이미지 처리를 위해 Pillow 등은 필요할 수 있음).

Bash

python3 md2hml.py README.md readme.hml

변환 결과 비교

변환된 .hml 파일은 한글 2018 이상 버전에서 열면 완벽하게 호환됩니다.

Markdown 문법변환 결과 (HWP)
# 제목제목 1 스타일 적용
**굵게**굵은 글씨 적용
`코드`고정폭 글꼴 적용
`

아직 타입스크립트는 개발버전입니다. 그래서 코드는 공개를 하나 작동이 안될수 있습니다.

남은 일

  1. 타입스크립트 만들기
  2. NPM 패키지 올리기
  3. 웹 클라이언트에서도 작업이 가능하게 하기