100% 프라이빗 — 모든 처리가 브라우저에서
마크다운 들여쓰기 — 목록과 코드 블록
같은 공백이 마크다운에서는 세 가지 다른 의미를 갖습니다. 중첩 목록, 들여쓴 코드, 문단 연속을 전환하며 마크다운 들여쓰기의 각 사례를 실시간 미리보기로 확인하세요.
MD Viewer 팀
- Fruit
- Apple
- Green apple
- Banana
- Apple
- Bread
마크다운 들여쓰기의 동작은 문맥에 따라 갈립니다. 같은 선행 공백이, 앞에 무엇이 왔는지에 따라 문단의 연속이 되거나, 목록 항목을 중첩하거나, 텍스트를 코드 블록으로 바꿉니다. 그것이 함정입니다. 보기 좋게 맞추려고 들여쓰면 렌더링이 뒤집힙니다. 중첩 목록이 나타나고, 문단이 코드 블록에 붙고, 들여쓰기가 소리 없이 사라집니다. 위의 놀이터는 마크다운 들여쓰기의 세 사례를 클릭 하나로 전환해 무엇이 바뀌는지 정확히 보여 줍니다.
몸에 익혀야 할 세 가지 규칙이 있습니다. 목록 마커 아래에 맞춘 두세 칸 공백은 목록 내용을 중첩합니다. 새 블록의 시작에서 네 칸은 들여쓴 코드 블록을 만듭니다. 그리고 일반 문단의 선행 공백(세 칸까지)은 그냥 무시됩니다 — 마크다운 들여쓰기에는 문단 들여쓰기가 없기 때문입니다. 그 사이에, 목록 항목 뒤의 들여쓴 행이 문서가 아니라 그 항목에 속하는 연속 사례가 자리합니다.
이 페이지는 사이트의 뷰어, 에디터, PDF 내보내기를 움직이는 것과 같은 엔진으로 각 사례를 렌더링합니다. 여기서 배우는 것은 어디서나 통합니다. 예제를 시험하고, 소스를 편집하고, 아래 설명을 활용해 README에 커밋하기 전에 어떤 마크다운 들여쓰기든 예측하세요.
마크다운 들여쓰기: 공백의 행선지
| 입력 | 들여쓰기의 역할 |
|---|---|
| - 항목 - 하위 | 두 칸 들여쓰기가 부모 아래에 하위를 중첩 |
| 1. 항목 1. 하위 | 세 칸이 마커 텍스트 아래에 맞춰 중첩 |
| 코드 여기 | 블록 시작의 네 칸이 들여쓴 코드를 만든다 |
| 문단 이어지는 텍스트 | 선행 세 칸까지는 제거됨. 들여쓰기가 아님 |
| - 항목 이어짐 | 맞춰진 들여쓰기가 항목의 문단을 연속 |
마크다운 들여쓰기를 의도적으로 쓰기
- 1
목록 중첩: 텍스트 아래에 맞추기
마크다운 들여쓰기는 부모 항목의 첫 글자 바로 아래에 정렬될 때 중첩됩니다. - 마커에는 두 칸, 1. 마커에는 세 칸입니다. 위의 '중첩 목록' 예제로 정렬이 반사가 될 때까지 시험하세요.
- 2
코드 블록: 네 칸, 먼저 빈 줄
빈 줄 뒤의 선행 네 칸은 마크다운을 코드 모드로 전환하고, 마크다운 들여쓰기가 고정 폭 텍스트를 그대로 보존합니다. '들여쓴 코드' 예제가 같은 내용의 스위치 온오프를 보여 줍니다.
- 3
문단: 아무 것도 들여쓰지 않기
문단의 선행 공백(세 칸 이하)은 버려집니다. 이 언어에는 문단 수준의 마크다운 들여쓰기가 없으며, 구조는 정렬이 아니라 빈 줄에서 나옵니다.
- 4
연속: 항목의 리듬 유지
긴 목록 항목은 연속 행이 항목 텍스트와 같은 마크다운 들여쓰기를 가질 때 더 잘 접힙니다. 연속 행은 코드 블록이나 새 문단으로 흘러가는 대신 항목에 합류합니다.
마크다운 들여쓰기가 문맥 의존인 이유(와 암기법)
마크다운은 문서를 블록으로 분석하고, 각 블록 형식은 자기만의 들여쓰기 계약을 지닙니다. 목록 블록은 중첩과 연속을 위해 맞춰진 마크다운 들여쓰기를 환영하고, 문단은 그것을 허용했다 버리고, 네 칸 깊이에서 시작하는 새 블록은 1990년대 이메일 인용에서 물려받은 관습에 따라 미리 서식된 코드로 추정됩니다. 렌더러는 여러분의 의도를 결코 묻지 않습니다. 지금 있는 블록의 계약을 적용할 뿐입니다.
실용적인 기억 후크는 '네까지 세기'입니다. 목록 마커 뒤의 한세 칸은 중첩 또는 연속. 빈 공간의 네 칸은 코드. 목록 항목 바로 아래의 네 칸은 항목 안의 중첩 코드 — 사람을 가장 놀라게 하는 것이고, '들여쓴 코드' 예제가 무해하게 시연합니다. 의심스러울 때는 백틱 코드 펜스를 선호하세요. 펜스는 모호하지 않고, 복사-붙여넣기를 살아남고, 강조 표시용 언어를 선언합니다.
마크다운 들여쓰기가 몸에 밴 뒤에는 목록 설계가 추측이 아니게 됩니다. 깊은 중첩은 실무에서 수준마다 두 칸과 네 칸을 번갈아 쌓고, 마크다운 번호 목록 페이지는 같은 정렬 규칙 위에 번호 규칙을 얹습니다. 두 페이지 모두 이 사이트의 실시간 엔진을 공유하므로, 여기서 검증한 동작은 저기서도 믿을 수 있는 동작입니다.
마크다운 들여쓰기의 실수
1. 부모 1. 자식(두 칸)
1. 부모 1. 자식(세 칸)
두 칸은 세 글자짜리 1. 마커를 넘지 못해 자식이 부모 행에 녹아듭니다. 마크다운 들여쓰기는 텍스트 아래에 맞아야 합니다.
문단 들여쓴 행
문단 펜스 또는 들여쓴 코드
문단 바로 뒤의 네 칸은 일반 텍스트로 문단을 이어가지만, 빈 줄 뒤의 같은 네 칸은 코드 블록이 됩니다. 빈 줄이 스위치입니다.
문단의 선행 공백
선행 공백 없음
문단 들여쓰기는 존재하지 않습니다. 마크다운 들여쓰기의 선행 세 칸까지는 렌더링에서 제거됩니다. 산문은 정렬이 아니라 블록 구조로 조직하세요.
들여쓰기는 PDF를 살아남습니다
중첩 목록은 들여쓰기 수준을 유지하고 들여쓴 코드는 고정 폭 블록을 유지한 채 마크다운 PDF 변환을 통과합니다. 내보내기는 미리보기가 렌더링하는 것과 같은 구조를 걸으므로, 여기서 검증한 마크다운 들여쓰기는 그대로 인쇄됩니다.
들여쓰기 사고를 예방하는 체크리스트
들여쓰기 문제는 거의 항상 세 가지 패턴입니다. 두 칸으로 중첩을 시도한 목록, 빈 줄 없이 이어진 코드 블록, 그리고 문단을 들여쓰려는 시도. 문서가 이상하게 렌더링될 때 이 순서대로 확인하면 열에 아홉은 바로 잡을 수 있습니다.
새 문서를 시작할 때는 목록의 들여쓰기 폭을 미리 정해 두세요. 대시에는 두 칸, 숫자에는 세 칸이라는 규칙을 팀이 합의하면 리뷰에서 들여쓰기 논쟁이 사라집니다. 위의 놀이터는 그 규칙이 실제로 어떻게 보이는지 보여 주는 가장 빠른 참고서입니다.
들여쓰기는 마크다운에서 유일하게 문맥을 읽어야 하는 문법입니다. 그래서 혼란스럽지만, 블록이라는 개념 한 번만 잡으면 모든 규칙이 하나로 정렬됩니다. 지금 내가 어떤 블록 안에 있는가. 이 질문 하나가 들여쓰기의 모든 경우를 설명합니다.
자주 묻는 질문
출처 및 사양 인용
“An indented code block is composed of one or more indented chunks separated by blank lines.”
“The contents of the code block are the literal contents of the lines, including trailing line endings, minus these four spaces of indentation.”