Show HN: 마크다운을 풍부한 HTML 클립보드 콘텐츠로 변환하는 CLI 도구
요약
본 기술 기사는 GitHub Flavored Markdown(GFM)을 Word, Google Docs 등 다양한 애플리케이션에 붙여넣기 좋은 풍부한 HTML 형식으로 변환하는 CLI 도구 'md2cb'를 소개합니다. 이 도구를 사용하면 마크다운 파일을 시스템 클립보드에 직접 복사하여, 일반적인 텍스트 기반의 붙여넣기가 아닌 서식이 유지된 콘텐츠로 원하는 문서 편집기에 쉽게 사용할 수 있습니다. 개발자는 기존 방식(예: `pandoc` + `textutil`)이 이미지나 Mermaid 다이어그램 같은 고급 마크다운 기능을 지원하지 못하는 한계를 발견하고, 이 문제를 해결하기 위해 'md2cb'를 개발하게 되었습니다.
핵심 포인트
- GFM을 풍부한 HTML 형식으로 변환하여 시스템 클립보드에 복사할 수 있는 CLI 도구(md2cb)를 제공합니다.
- 이 도구를 사용하면 마크다운 콘텐츠가 Word, Google Docs 등 다양한 앱에서 서식이 유지된 형태로 붙여넣기 됩니다.
- 사용자는 `cat file.md | md2cb`와 같은 간단한 명령어로 변환 및 복사 작업을 수행할 수 있습니다.
- 개발 과정에서 기존의 쉘 스크립트(예: pandoc)가 이미지나 Mermaid 다이어그램을 지원하지 못하는 한계를 극복하고자 했습니다.
Show HN: GitHub Flavored Markdown (GFM) 을 풍부한 HTML 로 변환하고 시스템 클립보드로 복사하여 Word, Google Docs, Pages, Teams 등에 붙여넣기 위한 CLI 도구
cat file.md | md2cb
그런 다음, 복사된 클립보드 콘텐츠를 대상 앱에 붙여넣습니다.
변환 전 $EDITOR 에서 내용을 편집하려면 --edit/-e 플래그를 추가하세요. -e 는 파일이나 stdin 입력 없이 실행될 때 빈 마크다운 파일을 엽니다.
Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/letientai299/md2cb/main/scripts/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/letientai299/md2cb/main/scripts/install.ps1 | iex
기본적으로 /usr/local/bin (Unix) 또는 %USERPROFILE%\bin (Windows) 에 설치됩니다. -d <path> 를 사용하여 사용자 지정 디렉토리를 지정하세요.
test/demo.md 에서 렌더링된 결과입니다.
Microsoft Teams |
Google Docs |
참고용 Froala Editor |
일반적인 작업을 위한 목록은 mise tasks를 참조하세요. 2 개의 웹 서버를 시작하려면 mise dev 를 사용하세요:
-
http://localhost:9091/demo.md: markserv 로 렌더링된 마크다운 미리보기
-
http://localhost:9090: 변환된 콘텐츠를 붙여넣기 위한 Froala 편집기
-
https://mise.jdx.dev 에서 개발 도구와 작업 실행자 관리
-
Docker 를 사용하여 개발 서버 실행
대부분의 코드는 Claude Code 가 작성했으며, 일부 코드 검토는 Copilot 이 수행했습니다!
직장에서 Teams 를 사용해야 합니다. 몇 가지 마크다운 기능을 지원하지만 긴 메시지에 대한 편집 경험은 매끄럽지 않습니다. 따라서 저는 NVim 에서 작성하고 아래 쉘 스크립트를 사용하여 Teams 에 붙여넣기 전에 변환합니다.
pandoc --from gfm --to html |
textutil -convert rtf -stdin -stdout -format html |
pbcopy -Prefer
이 스크립트는 일반적인 불릿 목록에는 잘 작동하지만:
- 이미지, mermaid 를 지원하지 않습니다.
- Mac 전용입니다.
그래서 이 도구를 만들었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Claude Code Search의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기