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 파일 등에 적합 | 학술 논문, 수식이 포함된 문서 작성에 적합 |
'Tools > etc' 카테고리의 다른 글
| Markdown 기초 문법 (0) | 2025.03.19 |
|---|---|
| [Docker] 도커 desktop wsl error 해결 과정(WslRegisterDistribution failed with error: 0x80370102) (0) | 2025.01.15 |
| ngrok 사용법 로컬 서버를 인터넷에 공개하기 (0) | 2024.12.30 |
| [이클립스] 이전에 실행됐던 게 실행되는 오류 해결 (0) | 2023.06.21 |