마크다운(Markdown)
- 마크다운은 일반 텍스트 문서에 서식 요소를 추가하여 사용할 수 있는 경량 마크업 언어
- 2004년 John Gruber가 마크다운을 만듦
현재 세계에서 가장 인기 있는 마크업 언어 중 하나
마크다운 장점
- 모든 곳에서 사용 가능 (웹사이트, 문서, 메모, 책 등)
- 거의 모든 응용 프로그램에서 사용 가능
- 어떤 플랫폼이든 독립적으로 실행 가능
- 사용 중인 응용 프로그램이 작동을 멈추더라도 텍스트 편집 응용 프로그램을 이용해서 계속 이용 가능
- 문법이 간단하고 쉬움
- 텍스트로 저장되기 때문에 용량이 적고 보관이 쉬움
마크다운 단점
- 모든 HTML 문법을 대신하지는 못함
- 표준이 없어서 도구에 따라 변환 방식이나 결과물이 다름
- 마크다운으로 파일 업로드하는 경우 저장한 다음 파일 경로를 입력해야 하는 불편함
- 문법들을 하나하나 입력해야 하는 경우가 있어 약간 귀찮음
작동 순서

- Markdown 파일을 만듦 (파일의 확장자는 .md 또는 .Markdown이어야함)
- Markdown 애플리케이션에서 Markdown 파일을 염
- Markdown 응용 프로그램을 사용하여 Markdown 파일을 HTML 문서로 변환
- 웹 브라우저에서 HTML 파일을 보거나 Markdown 응용 프로그램을 사용하여 PDF와 같은 다른 파일 형식으로 변환
기본 문법
Headings(헤더)
- 제목 앞에 #을 붙이기 (#뒤에 공백 1칸 추가할 것)
- 1개에서 6개까지 붙일 수 있음 #개수가 많을수록 폰트 크기가 작아짐
- 등호(=)나 대시(-)를 텍스트 밑에 붙이면 헤더로 변경
- =는 h1 수준, -는 h2 수준
- 권장 사항 : 호환성을 위해 제목 앞뒤에 빈 줄 추가
Paragraphs(단락)
- 단락을 구분하기 위해서 한 줄 이상의 빈 줄을 추가하기
- 권장사항 : 단락 앞에 공백이나 들여쓰기하지 말 것
Line Breaks(줄 바꿈)
- 줄 바꿈을 하려면, 문장 끝에 두 칸 이상 공백을 주고 줄을 바꾸면 됨
- 권장 사항 : 사용자가 실수나 의도적으로 문장 뒤에 공백을 두 칸 이상 넣는 경우가 있으므로, html을 지원한다면 \<br>태그 사용하는 것을 권장
Bold(굵게 쓰기)
- 텍스트 앞뒤에 별표(*)나 밑줄(_) 2개 추가
- 권장 사항 : 문장 중간의 단어를 굵게할 경우에는 별표(_) 사용
Italic(기울여 쓰기)
- 텍스트 앞뒤에 별표(*)나 밑줄(_) 1개 추가
- 권장 사항 : 문장 중간의 단어를 기울여 쓰려면 별표(_) 사용하기
Bold and Italic(굵게 쓰기와 기울여 쓰기 동시 적용)
- 텍스트 앞뒤에 별표(*_*)나 밑줄(_) 3개 추가
- 권장 사항 : 문장 중간의 단어를 굵고 기울여 쓰려면 별표(*) 사용하기
Blockquotes(인용)
- 인용문을 만들려면 꺾쇠(>)를 단락 앞에 추가
- 권장 사항 : 인용문 앞뒤에 빈 줄 추가
Blockquotes with Multiple Paragraphs(여러 단락이 포함된 인용부호)
- 여러 단락을 인용하려면, 단락 사이 빈 줄에 꺽쇠(>)를 추가
- 인용문 앞 뒤에 빈 줄 추가
Nested Blockquotes(중첩된 인용부호)
- 중첩 인용하는 단락 앞에 꺾쇠(>)를 2개 추가 (3개까지 가능)
- 권장 사항 : 인용문 앞뒤에 빈 줄 추가
Ordered Lists(순서가 있는 목록)
- 숫자와 마침표(.), 공백을 적고 항목을 추가
- 숫자는 숫자 순서대로일 필요 없음
- 목록은 숫자 1부터 시작해야 함
- 권장 사항 : 숫자 뒤에 소괄호( \')\' )를 사용하지 말고 숫자와 마침표 사용하기
Unordered Lists(순서가 없는 목록)
- 항목 앞에 대시(-)나 별표(*) 또는 더하기 기호(+) 사용
- 항목 안에 마침표(.)를 작성해야 하면 백슬래시()를 앞에 추가
- 권장 사항 : 구분 기호 여러 가지 쓰지 말고 하나만 쓰기
Adding Elements in Lists(목록에 요소 추가)
- 공백 4칸을 입력하거나 탭을 입력해서 들여쓰기하기
Code(코드)
Escaping Backticks(백 틱 이스케이프)
- 코드로 표시하려는 단어나 문구에 백 틱이 이미 포함되면 이 중 백 틱으로 묶기
Code Blocks(코드 블록)
- 코드 블록을 생성하려면 블록의 모든 줄을 취소 4개의 공백 또는 1개의 탭으로 들여쓰기
Horizontal Rules(수평선)
- 별표(*), 대시(-) 또는 밑줄(_) 3개 이상 사용
- 권장 사항 : 수평선 앞뒤에 빈 줄 넣기
Links(링크)
- 링크 텍스트를 대괄호([,])로 묶은 다음 바로 뒤에 URL을 소괄호((,))로 묶기
- 권장 사항 : URL 중간에 공백이 있으면, %20을 넣거나 html 태그를 지원하면 a 태그로 감싸기
URLs and Email Addresses(URL 및 이메일 주소)
Images(이미지)
- 느낌표(!)를 추가한 다음 괄호 안에 대체 텍스트 추가, 괄호 안에 이미지 경로 또는 URL 추가
Linking Images(이미지 연결)
- 이미지의 마크다운을 괄호로 묶고 다음 링크를 괄호 안에 추가
확장
Tables(테이블)
- 대시(-)를 3개 이상 사용해서 헤더 생성
- 파이프(|)를 사용해서 열을 구문
- 행 양쪽 끝에 파이프(|) 추가할 것
Alignment(정렬)
- 헤더 행 내 대시(-)의 왼쪽, 오른쪽 또는 양쪽에 콜론(:)을 추가하면 정렬할 수 있음
Syntax Highlighting(구문 강조)
- 작성된 언어에 대한 색상 강조를 추가
- 구문 강조를 추가하려면 코드 블록 앞의 백 틱(`) 옆에 언어를 지정
Strikethrough(취소선)
Task Lists(작업 목록)
- 대시(-), 공백 그리고 대괄호([,])를 추가함
- x를 대괄호 사이에 넣으면 확인을 표시할 수 있음
Highlight(하이라이트)
출처