Markdown 문법 기초 가이드

Markdown은 가벼운 마크업 언어로, 사람이 읽고 쓰기 쉬운 순수 텍스트 형식으로 문서를 작성할 수 있게 해주며, 이를 유효한 XHTML(또는 HTML)로 변환할 수 있습니다.

핵심 설계 철학은 "가독성 우선"입니다. 렌더링 없이도 순수 텍스트 자체가 명확하고 읽기 쉬워야 합니다.

아래는 Markdown의 전체 문법 설명사용 예시입니다.

1. 제목 (Headings)

# 기호의 개수로 제목 수준을 표시하며, 총 6단계까지 지원합니다.

문법 효과 설명
# 1급 제목 주로 문서 주제에 사용
## 2급 제목 장 제목
### 3급 제목 소장 제목
... ... 최대 ######까지 지원

예시:

# 프로젝트 계획서
## 1. 배경 소개
### 1.1 시장 환경

2. 텍스트 스타일 (Text Styling)

텍스트 내용을 강조하는 데 사용합니다.

효과 문법 예시 코드
굵은 글씨 **문자** 또는 __문자__ **중요**
기울임꼴 *문자* 또는 _문자_ *주의*
굵은 기울임꼴 ***문자*** ***매우 중요***
취소선 ~~문자~~ ~~오래된 정보~~
<u>문자</u> <u>강조</u> (HTML 태그)
인라인 코드 `문자` `print("Hello")`
강조 표시 ==문자== ==강조 표시== (일부 편집기 지원)

3. 목록 (Lists)

비순서형 목록

-, +, 또는 *와 공백을 사용합니다.

- 사과
- 바나나
  - 미니 바나나 (들여쓰기 2칸 또는 1개 탭으로 중첩)
  - 왕바나나
+ 오렌지

효과:

  • 사과
  • 바나나
    • 미니 바나나
    • 왕바나나
  • 오렌지

순서형 목록

숫자와 점 1.과 공백을 사용합니다. Markdown은 자동으로 정렬하므로 수동으로 숫자를 수정할 필요가 없습니다.

1. 첫 번째: 컴퓨터 켜기
2. 두 번째: 코드 작성
3. 세 번째: 테스트 제출
   1. 하위 단계 A
   2. 하위 단계 B

효과:

  1. 첫 번째: 컴퓨터 켜기
  2. 두 번째: 코드 작성
  3. 세 번째: 테스트 제출
    1. 하위 단계 A
    2. 하위 단계 B

작업 목록 (Task Lists)

할 일 목록에 자주 사용되며, GitHub/GitLab/Obsidian에서 완벽하게 지원됩니다.

- [x] 완료된 작업
- [ ] 대기 중인 작업 1
- [ ] 대기 중인 작업 2

효과:

문법은 매우 유사하며, 이미지는 느낌표 !가 추가됩니다.

링크

[표시 텍스트](링크 주소 "선택적 제목")

[구글 방문](https://www.google.com)
[팁이 있는 링크](https://github.com "GitHub 홈페이지")

효과:
구글 방문

이미지

![대체 텍스트](이미지 주소 "선택적 제목")
*대체 텍스트는 이미지가 로드되지 않을 때 표시되며, SEO에도 도움이 됩니다.*

![Mermaid 로고](https://mermaid.js.org/mermaid-logo.png "Mermaid 아이콘")

이미지/링크 참조 단축 방식

동일한 링크를 여러 번 참조해야 할 경우 정의식을 사용할 수 있습니다:

이것은 링크 [구글][1]과 다른 [구글][1]입니다.

[1]: https://www.google.com "구글 검색"

5. 인용 블록 (Blockquotes)

타인의 말을 인용하거나 특정 내용을 강조할 때 사용합니다. > 기호를 사용합니다.

> 이것은 인용 텍스트입니다.
>
> > 이것은 중첩된 인용입니다.
>
> 인용 내에서 **굵은 글씨**와 [링크](#)를 사용할 수 있습니다.

효과:

이것은 인용 텍스트입니다.

이것은 중첩된 인용입니다.

인용 내에서 굵은 글씨링크를 사용할 수 있습니다.

6. 코드 블록 (Code Blocks)

프로그래머가 가장 자주 사용하는 기능입니다. 세 개의 백틱 ```으로 감싸고, 언어를 지정하여 구문 강조를 활성화할 수 있습니다.

인라인 코드

단일 백틱 사용: `console.log('hi')`console.log('hi')

다중 코드 블록

def hello():
    print("Hello, World!")
    return True
const sum = (a, b) => a + b;
console.log(sum(1, 2));
git add .
git commit -m "update"

효과:

def hello():
    print("Hello, World!")
    return True

7. 테이블 (Tables)

표준 Markdown은 테이블을 기본적으로 지원하지 않지만, 확장 문법(GFM - GitHub Flavored Markdown)은 널리 지원됩니다.

문법:

  • |로 열을 구분합니다.
  • ---로 표 머리글과 내용을 구분합니다.
  • :--- 왼쪽 정렬, :---: 중앙 정렬, ---: 오른쪽 정렬
| 이름 | 나이 | 도시 | 기술 |
| :--- | :---: | ---: | :--- |
| 장삼 | 25 | 베이징 | Python, Java |
| 리사 | 30 | 상하이 | Go, Rust |
| 왕우 | 28 | 선전 | JavaScript |

효과:

이름 나이 도시 기술
장삼 25 베이징 Python, Java
리사 30 상하이 Go, Rust
왕우 28 선전 JavaScript

8. 수평선 (Horizontal Rules)

세 개 이상의 -, *, 또는 _를 사용합니다.

---
***
___

효과:
(아래는 수평선)
-------------------

9. 고급 문법과 확장

각주 (Footnotes)

이것은 관점[^1]이며, 설명이 필요합니다.

[^1]: 여기는 각주의 상세 설명 내용으로, 보통 페이지 하단에 표시됩니다.

효과:
이것은 관점[1]이며, 설명이 필요합니다.

수학 공식 (LaTeX)

많은 편집기(Typora, Obsidian, Jupyter 등)에서 LaTeX 공식을 지원합니다.

  • 인라인 공식: $E=mc^2$
  • 블록 공식: ``` $$ \sum_{i=1}^{n} i = \frac{n(n+1)}{2} $$ ```

효과:
$E=mc^2$

$$ \sum_{i=1}^{n} i = \frac{n(n+1)}{2} $$

다이어그램 (Diagrams)

이전에 논의했듯이, 코드 블록에서 mermaid를 지정하면 흐름도, 순서도 등을 렌더링할 수 있습니다.

graph TD
A --> B

HTML 태그

Markdown은 HTML과 호환됩니다. Markdown 문법이 요구 사항을 충족시키지 못할 경우(예: 글꼴 색상, 크기 조정), 직접 HTML을 작성할 수 있습니다.

<font color="red">빨간색 글씨</font>
<br> 줄 바꿈
<details>
<summary>클릭하여 자세히 보기</summary>
여기는 숨겨진 내용입니다.
</details>

효과:

빨간색 글씨
줄 바꿈
클릭하여 자세히 보기 여기는 숨겨진 내용입니다.

10. 이스케이프 문자 (Escape Characters)

Markdown의 특수 기호 자체를 표시하고 싶을 때(예: 기울임꼴 대신 * 표시), 역슬래시 \를 앞에 추가해야 합니다.

\*이것은 기울임꼴이 아님\*
\# 이것은 제목이 아님
\` 이것은 코드 표시가 아님 \`

효과:
\*이것은 기울임꼴이 아님\*
\# 이것은 제목이 아님

11. 최고의 실천 방법과 권장 사항

  1. 단락 간격: 단락 사이에 빈 줄을 하나 남겨두지 않으면 병합될 수 있습니다.
  2. 줄 바꿈:
    • 방법 1: 행 끝에 두 개의 공백을 추가한 후 엔터 키를 누릅니다.
    • 방법 2: 직접 빈 줄을 추가합니다(새 단락 시작).
    • 방법 3: <br> 태그를 사용합니다.
  3. 호환성: 대부분의 플랫폼은 GFM(GitHub 스타일)을 지원하지만, "강조"(==), "각주" 등의 문법은 일부 간단한 리더에서 작동하지 않을 수 있습니다. 중요한 문서는 미리 미리보기를 확인하는 것이 좋습니다.
  4. 도구 추천:
    • 편집기: VS Code (Markdown All in One 플러그인 설치), Typora (즉시 보이는 대로), Obsidian (지식 베이스 관리)
    • 온라인 미리보기: StackEdit, Dillinger

요약 참고 표

요소 문법 예시
제목 # H1, ## H2
굵은 글씨 **text**
기울임꼴 *text*
링크 [title](url)
이미지 ![alt](url)
목록 - item 또는 1. item
인용 > text
코드 `code` 또는 ```lang
테이블 | col |
수평선 ---

이러한 문법을 마스터하면, 구조가 명확하고 레이아웃이 아름다운 기술 문서, 메모, 심지어 블로그 게시물까지 쉽게 작성할 수 있습니다.

1. 여기는 각주의 상세 설명 내용으로, 보통 페이지 하단에 표시됩니다. ↩︎

태그: markdown 마크다운 문법 텍스트 형식 문서 작성

7월 12일 02:10에 게시됨