마크다운(Markdown) 코드 블록 중첩, 이제 걱정 끝!
마크다운(Markdown)에서 코드 블록 내 코드 블록 중첩 시, 렌더링 오류(Rendering Error)가 발생할 수 있음
CommonMark 명세에 따라, 코드 블록 시작과 끝을 구분하는 백틱(Backtick) 개수를 다르게 하여 문제를 해결
백틱(Backtick) 대신 틸드(Tilde) 사용 또는 여러 개의 백틱 사용을 통해 중첩 문제를 해결 가능
인라인 코드 스팬(Inline Code Span) 내 백틱 중첩 문제 역시, 여러 개의 백틱 사용과 공백 처리를 통해 해결
마크다운(Markdown) 렌더링의 기본 원리
마크다운(Markdown)은 텍스트 기반 마크업 언어로, HTML 변환(HTML Conversion)을 통해 웹 페이지를 구성한다. 특히 코드 블록(Code Block)과 인라인 코드 스팬(Inline Code Span)은 백틱(Backtick)을 사용하여 코드 표현을 지원한다. 하지만, 중첩된 코드 블록이나 인라인 코드 스팬 내 백틱 사용 시, 파싱(Parsing) 오류가 발생할 수 있다. CommonMark 명세는 이러한 문제를 해결하기 위한 규칙을 제시한다.
코드 블록 중첩 문제 해결: 틸드(Tilde)와 백틱(Backtick) 활용
CommonMark 명세에 따르면, 코드 블록은 세 개 이상의 백틱(Backtick) 또는 틸드(Tilde)로 시작하고, 동일한 문자와 동일하거나 더 많은 개수로 닫아야 한다. 따라서, 중첩된 코드 블록을 표현하기 위해 백틱 대신 틸드 사용 또는 시작/종료 백틱 개수 조절을 통해 렌더링 문제를 해결할 수 있다. 이는 마크다운(Markdown) 문서의 가독성(Readability)을 유지하면서 코드 표현의 유연성을 확보하는 방법이다.
인라인 코드 스팬(Inline Code Span) 내 백틱 중첩 처리
인라인 코드 스팬(Inline Code Span) 내 백틱(Backtick) 중첩 문제는 시작과 끝에 여러 개의 백틱 사용으로 해결할 수 있다. 또한, 인라인 코드 스팬의 시작과 끝에 공백을 추가하여 백틱(Backtick)과 코드 내용 사이를 구분하는 방법도 유효하다. 이러한 방법은 코드 표현의 정확성을 보장하며, 마크다운(Markdown) 문서의 의미 전달(Meaning Conveyance)을 돕는다.
CommonMark 명세(Specification) 기반의 이해
본문에서는 CommonMark 명세(Specification)를 인용하여 코드 블록과 인라인 코드 스팬의 규칙을 설명한다. 특히, 코드 블록의 시작과 끝을 정의하는 규칙과 인라인 코드 스팬 내 공백 처리 규칙을 강조한다. 이러한 명세(Specification)에 대한 이해는 마크다운(Markdown) 렌더링 문제를 해결하고, 일관된 문서 스타일(Consistent Document Style)을 유지하는 데 필수적이다.