모든 아티클

Markdown: 문서화의 표준이 된 이유

한글 음절 하나는 초성, 중성, 종성 자모가 합쳐져 하나의 사각형 블록으로 조합되며, 모노스페이스 폰트에서는 영문자 두 개 너비를 차지한다 — 그래서 한글과 영문이 섞인 GFM 표에서는 파이프 기호를 기준으로 맞춘 소스 텍스트가 에디터 화면에서는 어긋나 보이는 경우가 흔하다.

기본 문법

  • # 제목# 문자 개수에 따라 다른 레벨의 제목.
  • **굵게***기울임* — 텍스트 강조.
  • [텍스트](url) — 링크.
  • - 항목 또는 1. 항목 — 글머리 기호 목록과 번호 목록.
  • ``` — 언어 이름에 따른 문법 강조가 적용된 코드 블록.

한글이 표 정렬을 깨뜨리는 이유

GFM 표는 소스 상에서 | 위치만 맞으면 정상적으로 렌더링되지만, 많은 에디터의 미리보기 없는 원본 화면은 글자 폭이 고정된 모노스페이스 폰트로 표시된다. 영문과 숫자는 1칸을 차지하지만 한글 음절은 시각적으로 2칸 폭을 차지하기 때문에, 한글과 영문이 섞인 셀에서는 소스 텍스트의 열 정렬이 어긋나 보인다 — 실제 렌더링 결과는 정상이어도 원본 편집 화면만 보면 표가 깨진 것처럼 보이는 대표적인 사례다.

원래 Markdown에는 표도, CommonMark도 없었다

존 그루버가 2004년에 공개한 Markdown은 형식 문법이 아니라 산문으로 쓰인 설명이었고, 표나 취소선, 언어가 강조된 코드 블록은 정의되어 있지 않았다. 10년 동안 각 구현체는 원문이 애매하게 남겨둔 부분을 저마다 다르게 해석했고, 2014년이 되어서야 CommonMark가 정밀한 문법을 확정했다 — 그리고 GitHub Flavored Markdown(GFM)이 그 위에 표와 작업 목록 같은, 오늘날 어떤 README에서도 당연하게 여겨지는 확장을 추가했다.

HTML로 변환하고 되돌리기

Markdown → HTML 변환은 직접적입니다: 파서가 문법 구조를 인식하고 해당하는 태그를 생성합니다. 반대 변환인 HTML → Markdown은 더 어렵습니다. HTML이 기본 Markdown보다 훨씬 많은 서식 옵션을 지원하기 때문에 일부 마크업(복잡한 표, 중첩된 스타일)이 단순화되거나 손실될 수 있습니다.

이 기능이 필요한 이유

  • 게시하지 않고도 Markdown 파일이 어떻게 렌더링될지 빠르게 미리보기.
  • 버전 관리 시스템에 저장하기 위해 페이지나 문서 콘텐츠를 Markdown으로 변환하기.
  • Markdown만 받아들이는 앱에 삽입하기 위해 HTML 콘텐츠 준비하기.
도구 사용해보기