마크다운 가이드
마크다운이란?
마크다운은 일반 텍스트 문서에 서식 요소를 추가하는 데 사용할 수 있는 경량 마크업 언어입니다. HTML 및 기타 형식으로 변환할 수 있는 간단하고 읽기 쉬운 문법을 사용하여 서식이 지정된 텍스트를 만들 수 있습니다.
마크다운을 복잡한 워드프로세서 없이 서식이 지정된 문서를 작성하는 방법이라고 생각해보세요. 일반 텍스트에 특수 문자를 추가하여 굵게, 이탤릭,코드
와 같은 서식을 나타낼 수 있습니다.
왜 마크다운을 사용해야 할까요?
마크다운은 매우 간단하고 배우기 쉽습니다. 기본 사항을 단 10분만에 마스터할 수 있습니다. 서식 기호가 직관적입니다 - 강조에는 별표, 제목에는 해시. 간단한 기호를 추가하여 텍스트를 서식화할 수 있습니다.
마크다운은 모든 플랫폼과 모든 텍스트 에디터에서 작동합니다. 파일이 일반 텍스트이므로 수십 년 후에도 항상 읽을 수 있습니다. 파일은 가볍고 빠르게 로드됩니다.
마크다운은 플랫폼 전반에 걸쳐 광범위한 지원을 받습니다. GitHub, Reddit, Discord, Slack 모두 마크다운을 사용합니다. Obsidian, Notion, VS Code와 같은 인기 앱이 기본적으로 지원합니다. 이는 문서화, 노트 작성, 웹 콘텐츠에 완벽합니다.
마크다운은 Git과 같은 버전 관리 시스템과 완벽하게 작동합니다. 서식 방해 없이 콘텐츠에 집중할 수 있습니다. 모든 사람이 특별한 소프트웨어 없이 파일을 편집할 수 있어 팀 협업이 더 쉬워집니다.
마크다운 개발 역사
시작: 바닐라 마크다운 (2004)
마크다운은 원래 존 그루버(John Gruber)가 2004년에 아론 스와르츠(Aaron Swartz)의 중요한 기여로 만들었습니다. 그루버는 구조적으로 유효한 HTML로 변환할 수 있는 읽기 쉽고 쓰기 쉬운 일반 텍스트 형식을 사용하여 글을 쓸 수 있는 간단한 방법으로 설계했습니다. 이것이 존 그루버가 처음에 설계하고 구현한 "코어"로, 가장 기본적인 서식 문법을 포함하는 - 우리가 "기본 바닐라 플레이버"라고 부르는 것입니다.
기본 문법 (바닐라 마크다운 포함):
- •제목:
#
기호 사용 (# 제목
) - •강조:
- •이탤릭: 텍스트를
*
또는_
로 감싸기 (*이탤릭*
또는_이탤릭_
) - •굵게: 텍스트를
**
또는__
로 감싸기 (**굵게**
또는__굵게__
) - •목록:
- •순서 없는 목록:
*
,-
, 또는+
사용 (- 항목
) - •순서 있는 목록: 점이 있는 숫자 사용 (
1. 항목
) - •링크:
[링크 텍스트](링크 주소)
사용 - •이미지:

사용 - •코드 블록: 공백으로 들여쓰기 (보통 4개 공백 또는 1개 탭)
- •인용문:
>
기호 사용 (> 이것은 인용문입니다
) - •수평선:
---
또는***
사용
문제: 일관성 없는 구현
그러나 바닐라 마크다운에는 엄격하고 공식적인 사양이 부족했습니다. 이로 인해 다양한 마크다운 파서가 모서리 경우를 처리할 때 일관성 없는 동작을 보였습니다.
공백 처리: 예를 들어, 목록 항목에서 몇 개의 들여쓰기 공백이 하위 목록으로 간주됩니까? 2개 공백, 3개 공백, 또는 4개 공백? 다른 파서들이 다른 판단을 할 수 있습니다.
줄 바꿈 처리: 특정 상황에서 일반 줄 바꿈(\n
)이 <br>
(줄 바꿈) 태그로 파싱되어야 할까요, 아니면 단순히 텍스트의 공백으로 처리되어야 할까요? 이것도 파서에 따라 달라질 수 있습니다.
HTML 혼합 사용: 마크다운은 내장된 HTML을 허용합니다. 그러나 일부 복잡한 HTML 구조에서 마크다운 파서가 내부의 마크다운 문법을 처리하는 방법도 모호한 영역을 제시합니다.
해결책: CommonMark (2014)
2014년 9월, 이러한 일관성 문제를 해결하기 위해 CommonMark가 도입되었습니다. 존 맥팔레인(John MacFarlane)이 이끈 이 프로젝트는 마크다운에 대한 엄격한 사양을 제공합니다.
CommonMark는 모든 모서리 경우가 명확하게 정의된 정확한 사양을 제공합니다. 구현 간 일관성을 보장하기 위해 600개 이상의 테스트 케이스가 포함된 포괄적인 테스트 스위트가 포함되어 있습니다. 사양은 다른 파서가 따라야 할 표준 역할을 하는 참조 구현을 제공합니다. 기존 마크다운 문서와의 하위 호환성을 유지하면서 모든 호환 파서에서 동일한 입력이 항상 동일한 출력을 생성하는 명확한 파싱을 보장합니다.
확장 플레이버 및 추가 기능
사용자들이 다른 요구사항을 가지면서, 특정 요구사항을 충족하기 위해 다양한 확장 마크다운 플레이버가 등장했습니다.
GitHub 플레이버 마크다운 (GFM) 추가 문법:
- •표: 파이프 문법을 사용하여 표 만들기
| 헤더 1 | 헤더 2 | 헤더 3 |
|--------|--------|--------|
| 셀 1 | 셀 2 | 셀 3 |
| 셀 4 | 셀 5 | 셀 6 |
- •취소선: 텍스트를
~~
로 감싸기 (~~삭제된 텍스트~~
) - •작업 목록: 대화형 체크박스 만들기
- [x] 완료된 작업
- [ ] 미완료 작업
- •펜스 코드 블록: 언어 지정과 함께 삼중 백틱 사용
```javascript
function hello() {
console.log("안녕하세요!");
}
```
- •자동 링크: URL과 이메일 주소가 자동으로 클릭 가능해짐
- •각주: 학술 글쓰기를 위한
[^1]
문법 사용
이것은 각주가 있는 문장입니다[^1].
[^1]: 이것은 각주 내용입니다.
결과: 이것은 각주가 있는 문장입니다¹.
- •수학 표현: 과학 문서를 위한
$E=mc^2$
사용 - •이모지 단축키:
:smile:
사용하면 😊가 됩니다 - •정의 목록: 용어집과 기술 문서를 위해
용어 1
: 용어 1의 정의
용어 2
: 용어 2의 정의
: 용어 2의 또 다른 정의
결과: 강조된 용어와 들여쓰기된 정의가 있는 형식화된 목록을 만듭니다
작동 방식
마크다운은 간단한 3단계 워크플로우를 따릅니다:
1단계: 마크다운 파일 만들기
먼저, 모든 텍스트 에디터를 사용하여.md
또는 .markdown
확장자를 가진 일반 텍스트 파일을 만듭니다. 간단한 서식 기호를 사용하여 콘텐츠를 작성합니다:
2단계: 마크다운 도구로 처리
그러면.md
파일이 마크다운 변환 도구나 프로세서로 처리됩니다. 이 도구들은 마크다운 파일을 읽고 원하는 출력 형식으로 변환합니다.
3단계: 다양한 형식으로 출력
마크다운 프로세서는 파일을 여러 형식으로 변환할 수 있습니다:
웹 디스플레이용:
- •웹사이트, 블로그, 웹 애플리케이션용 HTML로 변환
- •적절한 스타일링으로 브라우저에서 형식화된 콘텐츠 표시
- •인쇄 가능한 문서와 보고서용 PDF로 변환
- •사무실 사용을 위한 Word 문서(.docx) 생성
- •학술 논문과 출판물용 LaTeX 생성
- •전자책(EPUB 형식) 생성
- •프레젠테이션 슬라이드 만들기
- •문서 웹사이트 제작
추가 자료
필수 문서
- •존 그루버의 마크다운 문서 :마크다운의 창시자가 작성한 원본 가이드. 철학과 기본 문법을 이해하는 데 필수적인 읽을거리입니다.
- •위키피디아 - 마크다운 :마크다운의 역사, 변형, 기술적 세부 사항에 대한 포괄적인 개요.
- •마크다운 가이드 :모든 기술 수준을 위한 예제와 모범 사례가 포함된 포괄적이고 초보자 친화적인 가이드입니다.