1. Markdown이란?

Markdown은 텍스트 기반의 경량 마크업 언어로 간단한 문법을 사용하여 문서를 쉽게 작성할 수 있도록 설계되었다. 복잡한 태그 없이도 문서를 정리할 수 있으며, 개발자 문서, 블로그, README 파일, 기술 보고서 등에서 널리 사용된다.

Markdown은 2004년 존 그루버(John Gruber)와 애런 스워츠(Aaron Swartz)가 공동 개발했다. 두 사람은 복잡한 HTML을 직접 작성하는 대신, 더 직관적이고 사람이 읽기 쉬운 문법을 만들고자 Markdown을 고안했다.

 

2. Markdown의 특징

1) 간결한 문법

- Markdown은 단순한 기호만으로 문서를 작성 가능하므로 초보자도 쉽게 배울 수 있다.

2) 가독성이 뛰어남

- HTML 코드처럼 태그가 많지 않기 때문에 원본 텍스트만으로도 가독성이 뛰어나다.

3) 다양한 포맷으로 변환 가능

- Markdown은 기본적으로 HTML로 변환되도록 설계되었지만 다양한 형식으로 변환이 가능하다.

4) Git과 함께 사용하기 최적화됨

- 코드와 함께 문서를 관리할 수 있어 유지보수가 쉬움

5) 다양한 플랫폼에서 지원

 

  • GitHub, GitLab, Bitbucket → README, 이슈, PR에서 사용
  • Jupyter Notebook → 데이터 분석, AI 연구용 문서화
  • Obsidian, Notion, Typora → 노트 및 문서 정리
  • MkDocs, Sphinx → 기술 문서 자동화
  • Hugo, Jekyll, Hexo → 블로그 포스트 작성

 

 

3. Markdown과 HTML의 차이점

 
항목 Markdown HTML
사용 용도 간단한 문서 작성 정교한 웹 페이지 제작
가독성 사람에게 읽기 쉬움 태그가 많아 가독성이 낮음
변환 가능성 HTML, PDF 등 다양한 포맷으로 변환 가능 Markdown으로 변환하려면 추가 작업 필요
스타일 적용 제한적( CSS를 적용하려면 HTML과 함께 사용해야 함 ) CSS, JavaScript와 결합 가능

 

4. Markdown의 한계점

 

- 스타일(Custom CSS 적용)이 제한적

- 수식 및 다이어그램 기능 기본 미지원

 

  • 기본 Markdown에는 LaTeX 수식, Mermaid 다이어그램 같은 기능이 없음
  • Jupyter Notebook, MkDocs, GitHub 등 특정 플랫폼에서는 확장 기능 지원

 

- 인터랙티브한 기능 부족

 

  • Markdown 자체로는 JavaScript와 같은 동적 기능을 포함할 수 없음
  • 일부 확장 문법(GFM, Markdown Extra)에서는 HTML을 삽입 가능하지만 일반적인 Markdown에서는 지원되지 않음

 

 

5. Markdown 표준 및 확장

Markdown은 처음에는 단순한 문서 작성 도구였지만 여러 플랫폼에서 확장되면서 다양하게 문법이 확장되었다.

1) CommonMark – 공식 표준 Markdown

Markdown은 원래 명확한 표준 없이 여러 버전이 혼재되었으나, 이를 표준화하려는 움직임이 생겼다.
2014년, CommonMark 프로젝트가 시작되면서 Markdown의 명확한 문법과 동작 방식을 정의했다.

* CommonMark의 특징
- Markdown을 일관되게 사용할 수 있도록 표준화
- GitHub, Stack Overflow, Reddit 등의 주요 플랫폼에서 지원
- 기존 Markdown과 호환성을 유지하면서 명확한 사양을 제공

CommonMark는 현재 가장 많이 사용되는 Markdown 표준 사양이다.

 

2) GitHub Flavored Markdown (GFM)

GitHub에서 Markdown을 확장하여 개발자 친화적인 기능을 추가한 버전이다.

* GitHub Flavored Markdown(GFM)의 특징
- Task List (체크리스트) 
- 표 지원
- 코드 블록 강조
- 이슈 및 PR 참조

GFM은 GitHub뿐만 아니라 GitLab, Bitbucket 등에서도 널리 사용된다.

 

3) MultiMarkdown (MMD)

MultiMarkdown은 기본 Markdown 문법을 확장하여 각주, 표, 메타데이터, 인용문 등을 추가한 버전이다.

* MultiMarkdown의 주요 기능
- 각주(Footnotes)
- 메타데이터 지원 → 문서 정보 포함 가능
- LaTeX 변환 가능 → 논문 작성에도 활용 가능

Markdown을 논문 작성이나 연구 문서에 활용하고 싶다면 MultiMarkdown이 유용하다.

 

4) Markdown Extra

Markdown Extra는 PHP 기반의 Markdown 확장 버전으로, 추가적인 문법을 지원한다.

* Markdown Extra의 주요 기능
- 표 (Table)
- 각주
- 제목 ID 자동 생성

이 버전은 특히 WordPress, CMS 문서 작성 등에 활용된다.

 

5) Pandoc Markdown

Pandoc은 다양한 문서 포맷을 변환할 수 있는 도구로, Markdown을 기반으로 확장된 기능을 제공한다.

* Pandoc Markdown의 특징
- Markdown을 HTML, LaTeX, PDF, EPUB 등 다양한 포맷으로 변환 가능
- YAML 메타데이터 지원
- Markdown을 논문 및 학술 문서에 활용 가능

LaTeX와 함께 사용하여 Markdown을 논문 형식으로 변환하는 경우에 Pandoc이 많이 활용된다.

 

6. Markdown 표준 및 사용처

Markdown 버전 사용 플랫폼 주요 특징
CommonMark GitHub, Stack Overflow, Reddit Markdown 표준화 프로젝트
GFM (GitHub Flavored Markdown) GitHub, GitLab, Bitbucket 체크리스트, 표, 코드 블록 강조
MultiMarkdown 개인 문서, 논문, 연구 문서 각주, 메타데이터, LaTeX 변환 가능
Markdown Extra WordPress, CMS 문서 표, 각주, 제목 ID 자동 생성
Pandoc Markdown LaTeX 논문, 학술 문서 PDF, LaTeX, EPUB 변환 가능

 

7. Markdown vs LaTeX 

항목 Markdown LaTeX
사용 용도 간단한 문서, 블로그, README 논문, 학술지, 수식 포함 문서
배우기 쉬움 쉬움 (직관적인 문법) 어려움 (복잡한 문법)
스타일링 CSS 필요 고급 스타일링 가능
공식 표준 없음 (CommonMark이 표준화 역할) 있음 (TeX, LaTeX 표준)
변환 가능성 HTML, PDF, EPUB 등 변환 가능 PDF 변환 기본 지원
결론 블로그, 기술 문서, README 파일 등에 적합 학술 논문, 수식이 포함된 문서 작성에 적합

 

 

 

+ Recent posts