마크다운 완벽가이드 2편 - 확장 문법

마크다운 완벽가이드 2편 - 확장 문법#

요약#

이 글의 핵심 3가지

  1. 확장 문법의 본질: 기본 문법을 넘어서는 테이블, 코드 블록, 각주 등 고급 기능
  2. 실용성: GitHub, 옵시디언, Astro 등에서 바로 사용 가능한 실전 문법
  3. 호환성 주의: 모든 에디터가 지원하지 않으므로 확인 필요

읽는 시간: 20분 | 난이도: 초급

출처#

이 글은 다음 자료를 바탕으로 작성되었습니다.

대상 독자: 기본 문법을 익히고 더 강력한 마크다운 기능을 배우고 싶은 분

선수 학습: 마크다운 완벽가이드 1편 - 기초

확장 문법이란?#

확장 문법은 기본 마크다운에 없는 고급 기능을 제공합니다.

John Gruber가 만든 기본 문법만으로는 부족한 부분이 있었습니다.
그래서 여러 개발자가 테이블, 코드 블록, 각주 같은 기능을 추가했습니다.

주의: 모든 마크다운 애플리케이션이 확장 문법을 지원하는 건 아닙니다. 사용 전 호환성을 확인하세요.

주요 확장 문법 지원:

  • GitHub Flavored Markdown (GFM): GitHub, Discord, Reddit
  • CommonMark: 표준화된 마크다운 스펙
  • Markdown Extra: PHP 기반 확장
  • MultiMarkdown: 다양한 출력 형식 지원

Astro와 옵시디언은 대부분의 확장 문법을 지원합니다.

1. Tables (테이블)#

테이블로 데이터를 정리할 수 있습니다.

기본 문법#

하이픈(---)으로 헤더를 만들고, 파이프(|)로 열을 구분합니다.

| 항목 | 설명 |
| -------- | --------------------- |
| 마크다운 | 가벼운 마크업 언어 |
| HTML | 웹 페이지 마크업 언어 |

결과:

항목설명
마크다운가벼운 마크업 언어
HTML웹 페이지 마크업 언어

정렬#

콜론(:)으로 정렬을 지정합니다.

| 좌측 정렬 | 중앙 정렬 | 우측 정렬 |
| :-------- | :-------: | --------: |
| 왼쪽 | 가운데 | 오른쪽 |
| Left | Center | Right |

결과:

좌측 정렬중앙 정렬우측 정렬
왼쪽가운데오른쪽
LeftCenterRight

정렬 규칙:

문법정렬
:---좌측 정렬 (기본값)
:---:중앙 정렬
---:우측 정렬

테이블 안에 서식 추가#

| 기능 | 문법 | 예시 |
| ------ | --------------- | ---------------------------- |
| 굵게 | `**텍스트**` | **굵게** |
| 기울임 | `*텍스트*` | _기울임_ |
| 코드 | `` `코드` `` | `console.log()` |
| 링크 | `[텍스트](URL)` | [Google](https://google.com) |

결과:

기능문법예시
굵게**텍스트**굵게
기울임*텍스트*기울임
코드`코드`console.log()
링크[텍스트](URL)Google

제약사항:

테이블 안에서는 다음 요소를 사용할 수 없습니다.

  • 제목 (#)
  • 인용구 (>)
  • 목록 (-, 1.)
  • 수평선 (---)
  • 이미지 (![]()

2. Fenced Code Blocks (펜스 코드 블록)#

기본 문법의 4칸 들여쓰기 대신, 백틱 3개로 코드 블록을 만들 수 있습니다.

기본 문법#

```
function hello() {
console.log('Hello, World!');
}
```

결과:

function hello() {
console.log('Hello, World!');
}

장점:

  • 들여쓰기 불필요
  • 언어 지정 가능 (문법 하이라이팅)
  • 복사-붙여넣기 편리

문법 하이라이팅#

백틱 다음에 언어명을 지정하면 색상 강조가 됩니다.

```javascript
function greet(name) {
return `Hello, ${name}!`;
}
```

결과:

function greet(name) {
return `Hello, ${name}!`;
}

지원 언어 예시:

언어키워드
JavaScriptjavascript, js
TypeScripttypescript, ts
Pythonpython, py
Javajava
C++cpp, c++
HTMLhtml
CSScss
JSONjson
Markdownmarkdown, md
Bashbash, shell

여러 예시#

Python 코드:

```python
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
```

결과:

def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)

JSON 데이터:

```json
{
"name": "마크다운",
"version": "1.0.0",
"description": "가벼운 마크업 언어"
}
```

결과:

{
"name": "마크다운",
"version": "1.0.0",
"description": "가벼운 마크업 언어"
}

3. Footnotes (각주)#

참고 자료나 추가 설명을 각주로 달 수 있습니다.

기본 문법#

마크다운은 2004년 John Gruber가 만들었습니다.[^1]
[^1]: https://daringfireball.net/projects/markdown/

결과:

마크다운은 2004년 John Gruber가 만들었습니다.1

여러 각주#

마크다운[^markdown]은 HTML[^html]로 변환됩니다.
[^markdown]: Markdown - 가벼운 마크업 언어
[^html]: HyperText Markup Language

특징:

  • 식별자는 숫자 또는 단어 가능
  • 공백, 탭 사용 불가
  • 자동으로 순차 번호로 변환됨

4. Heading IDs (제목 ID)#

제목에 사용자 정의 ID를 추가할 수 있습니다.

기본 문법#

### 제목 {#custom-id}

링크 연결#

[이 제목으로 이동](#custom-id)

사용 예시:

## 설치 방법 {#installation}
설치는 다음과 같습니다...
---
자세한 내용은 [설치 방법](#installation)을 참고하세요.

외부 링크:

https://example.com/docs#installation

5. Definition Lists (정의 목록)#

용어와 정의를 작성할 수 있습니다.

기본 문법#

마크다운
: 읽기 쉽고 쓰기 쉬운 문서 작성 문법
HTML
: 웹 페이지를 만드는 마크업 언어

여러 정의#

마크다운
: 가벼운 마크업 언어
: 2004년 John Gruber가 만듦
: GitHub, Reddit 등에서 사용

참고: 모든 에디터가 정의 목록을 지원하는 건 아닙니다.

6. Strikethrough (취소선)#

텍스트에 취소선을 그을 수 있습니다.

기본 문법#

~~취소된 텍스트~~

결과: 취소된 텍스트

사용 예시#

- ~~할 일 1~~ (완료)
- ~~할 일 2~~ (완료)
- 할 일 3 (진행 중)

결과:

  • 할 일 1 (완료)
  • 할 일 2 (완료)
  • 할 일 3 (진행 중)

7. Task Lists (체크리스트)#

할 일 목록을 만들 수 있습니다.

기본 문법#

- [x] 마크다운 기본 문법 익히기
- [x] 확장 문법 배우기
- [ ] Astro 블로그 포스팅하기
- [ ] 옵시디언 노트 정리하기

결과:

  • 마크다운 기본 문법 익히기
  • 확장 문법 배우기
  • Astro 블로그 포스팅하기
  • 옵시디언 노트 정리하기

체크 표시:

  • [ ]: 미완료
  • [x]: 완료

중첩 체크리스트#

- [x] 프로젝트 시작
- [x] 요구사항 정의
- [x] 디자인 작성
- [ ] 개발
- [x] 프론트엔드
- [ ] 백엔드

결과:

  • 프로젝트 시작
    • 요구사항 정의
    • 디자인 작성
    • 개발
      • 프론트엔드
      • 백엔드

8. Emoji (이모지)#

이모지를 텍스트에 추가할 수 있습니다.

방법 1: 직접 복사-붙여넣기#

😀 😃 😄 😁 😆 😅
🎉 🎊 ✨ 🎈 🎁
👍 👎 ✅ ❌ 💡

결과:

😀 😃 😄 😁 😆 😅
🎉 🎊 ✨ 🎈 🎁
👍 👎 ✅ ❌ 💡

방법 2: 이모지 단축코드#

:smile: :tada: :rocket: :fire: :heart:

참고: 단축코드는 에디터마다 다를 수 있습니다. GitHub, Slack, Discord 등에서 사용 가능합니다.

자주 쓰는 이모지 단축코드:

이모지단축코드의미
😀:smile:웃음
🎉:tada:축하
🚀:rocket:로켓
🔥:fire:
❤️:heart:하트
💡:bulb:전구
:white_check_mark:체크
:x:X 표시

9. Highlight (하이라이트)#

텍스트를 형광펜처럼 강조할 수 있습니다.

기본 문법#

==강조할 텍스트==

HTML 사용#

<mark>강조할 텍스트</mark>

참고: == 문법은 일부 에디터만 지원합니다. HTML <mark> 태그가 더 안전합니다.

10. Subscript & Superscript (아래/위 첨자)#

수식이나 화학식에 사용합니다.

Subscript (아래 첨자)#

H~2~O

결과: H2O

HTML 사용:

H<sub>2</sub>O

결과: H2O

Superscript (위 첨자)#

X^2^

결과: X2

HTML 사용:

X<sup>2</sup>

결과: X2

참고: ~^ 문법은 일부 에디터만 지원합니다. HTML 태그가 더 안전합니다.

11. Automatic URL Linking (자동 URL 링크)#

URL을 자동으로 링크로 변환합니다.

기본 동작#

https://www.markdownguide.org

결과: https://www.markdownguide.org

대부분의 마크다운 프로세서가 자동으로 링크로 변환합니다.

자동 링크 비활성화#

백틱으로 감싸면 링크가 되지 않습니다.

`https://www.markdownguide.org`

결과: https://www.markdownguide.org

실전 예제#

GitHub README 스타일#

# 프로젝트 이름
## 기능
- [x] 사용자 인증
- [x] 데이터베이스 연동
- [ ] API 개발
- [ ] 프론트엔드 UI
## 기술 스택
| 분류 | 기술 |
| -------- | ----------------- |
| Frontend | React, TypeScript |
| Backend | Node.js, Express |
| Database | PostgreSQL |
## 설치 방법
\`\`\`bash
npm install
npm run dev
\`\`\`
## 라이선스
MIT License[^1]
[^1]: https://opensource.org/licenses/MIT

Astro 블로그 포스트#

---
title: "마크다운 확장 문법 실전 활용"
published: 2025-12-31
tags: ["마크다운", "블로그"]
---
# 마크다운 확장 문법 실전 활용
## 주요 기능 비교
| 기능 | 기본 문법 | 확장 문법 |
| :--------: | :-------: | :-------: |
| 테이블 | ❌ | ✅ |
| 코드 블록 | ⚠️ | ✅ |
| 체크리스트 | ❌ | ✅ |
## 코드 예시
\`\`\`typescript
interface User {
name: string;
email: string;
}
\`\`\`
## 참고 사항
확장 문법은 ==매우 유용==합니다.[^note]
[^note]: 모든 에디터가 지원하는 건 아닙니다.

옵시디언 노트#

# 마크다운 학습 노트
## 오늘 배운 것
- [x] 테이블 문법
- [x] 펜스 코드 블록
- [ ] 각주 활용법
## 핵심 요약
마크다운
: 가벼운 마크업 언어
: ==Astro와 옵시디언에서 필수==
## 참고 링크
- [[마크다운 기본 문법]]
- [[Astro 블로그 설정]]
#마크다운 #확장문법

호환성 체크리스트#

확장 문법을 사용하기 전에 확인하세요:

기능GitHubAstro옵시디언VS Code
테이블
펜스 코드 블록
문법 하이라이팅
체크리스트
각주⚠️
취소선
이모지⚠️
하이라이트⚠️
정의 목록⚠️⚠️

✅ 완전 지원 | ⚠️ 부분 지원 | ❌ 미지원

참고 자료#

공식 문서#

추가 자료#

다음 편 예고#

마크다운 완벽가이드 3편 - 고급 활용에서는 다음 내용을 다룹니다.

  • 마크다운 활용 팁과 트릭
  • HTML과 마크다운 혼합 사용
  • 이미지 크기 조정과 정렬
  • 커스텀 컨테이너와 콜아웃
  • Astro와 옵시디언 고급 기능

확장 문법을 익혔다면, 3편에서 더 고급 기능을 배워보세요!

Footnotes#

  1. https://daringfireball.net/projects/markdown/

공유

이 글이 도움이 되었다면 다른 사람과 공유해주세요!

마크다운 완벽가이드 2편 - 확장 문법
https://moodturnpost.net/posts/markdown/markdown-complete-guide-2/
작성자
Moodturn
게시일
2025-12-27
Moodturn

목차