Booil Jung

마크다운(Markdown)

마크다운(Markdown)은 2004년 존 그루버(John Gruber)와 정보 운동가 에런 스워츠(Aaron Swartz)에 의해 개발된 경량 마크업 언어(lightweight markup language)이다.1 그 핵심은 일반 텍스트(plain text) 기반의 간결한 문법을 사용하여, 사람이 별도의 해석 없이도 쉽게 읽고 쓸 수 있으면서(easy-to-read, easy-to-write), 동시에 구조적으로 유효한 HTML(또는 XHTML)로 손쉽게 변환될 수 있도록 설계되었다는 점에 있다.1 오늘날 마크다운은 소프트웨어 개발 플랫폼인 GitHub, 소셜 뉴스 웹사이트 Reddit, 개발자 Q&A 커뮤니티 Stack Overflow 등 수많은 웹 플랫폼에서 사실상의 표준(de facto standard)으로 자리 잡았으며, 개발자 문서(README), 기술 블로그, 개인 노트, 학술 논문 초안에 이르기까지 그 활용 범위가 광범위하게 확장되어 하나의 거대한 생태계를 구축하였다.3

본 보고서는 마크다운의 단순한 문법 나열을 넘어, 그 이면에 자리한 핵심 설계 철학을 심도 있게 분석하는 것을 목표로 한다. 나아가, 초기 표준의 부재가 초래한 ‘파편화(Fragmentation)’ 현상과 이를 극복하기 위한 ‘CommonMark’의 등장, 그리고 현재 가장 널리 사용되는 ‘GitHub Flavored Markdown(GFM)’을 포함한 주요 파생 문법(Flavor)들을 비교 분석한다. 또한, 마크다운의 본질적인 강점과 약점을 비판적으로 고찰하고, AsciiDoc 및 reStructuredText와 같은 다른 주요 마크업 언어와의 비교를 통해 그 기술적 위상을 객관적으로 조명한다. 마지막으로, 모든 콘텐츠가 데이터화되는 구조화된 콘텐츠(structured content) 시대 속에서 마크다운이 마주한 도전과 미래 전망을 제시함으로써, 이 언어에 대한 포괄적이고 심층적인 이해를 제공하고자 한다.

마크다운은 2004년 3월 19일, 기술 블로거이자 개발자인 존 그루버에 의해 세상에 처음 공개되었다. 이 과정에서 에런 스워츠는 문법 설계에 대한 중요한 피드백을 제공하는 등 중대한 협력자(significant collaboration) 역할을 수행했다.1 그루버가 마크다운을 개발하게 된 주된 동기는 웹에 글을 게시하기 위해 반복적으로 장황하고 복잡한 HTML 태그(<h1>, <p>, <a> 등)를 작성해야 하는 번거로움과 비효율성에 대한 깊은 좌절감이었다.4 그는 글쓰기의 흐름을 방해하지 않으면서도 필요한 서식을 손쉽게 적용할 수 있는, 보다 인간 친화적이고 직관적인 대안을 모색했다.

그 결과물로 그는 펄(Perl) 언어로 작성된 최초의 변환기 Markdown.pl을 공개했다.3 이 스크립트는 마크다운의 특수 기호로 작성된 일반 텍스트 문서를 입력받아, 웹 브라우저가 해석할 수 있는 잘 짜인(well-formed) 구조의 XHTML 또는 HTML 문서로 변환하는 핵심적인 역할을 수행했다. 이는 단순한 아이디어의 제시를 넘어, 실제 작동하는 도구를 통해 마크다운의 실용성을 증명한 것이었다.9

마크다운의 모든 문법과 규칙을 관통하는 가장 중요한 설계 철학은 가독성(Readability) 이다.9 그루버는 “마크다운 형식의 문서는 태그나 서식 명령어로 어지럽혀진 것처럼 보이지 않고, 일반 텍스트 그 자체로도 충분히 읽고 이해할 수 있어야 한다”고 강조했다.3 이는 마크다운이 처리되기 전의 원본 텍스트 상태에서도 그 구조와 내용이 명확하게 전달되어야 함을 의미한다.

이러한 철학은 기존의 이메일이나 유즈넷(Usenet) 게시물에서 사람들이 자연스럽게 텍스트를 꾸미던 관례에서 깊은 영감을 받았다.8 예를 들어, 중요한 단어를 강조하기 위해 양쪽에 별표(*)를 붙이는(*emphasis*) 행위는 시각적으로도 강조의 의미를 직관적으로 전달한다. 목록은 실제 목록처럼 보이고, 인용문은 이메일 답장에서 흔히 볼 수 있는 인용 형식처럼 보인다. 그루버는 이처럼 이미 널리 사용되어 익숙해진 구두점 문자들을 신중하게 선택하여 문법으로 체계화함으로써, 학습 곡선을 최소화하고 가독성을 극대화하고자 했다.10

그루버는 마크다운의 정체성을 명확히 구분하며 다음과 같이 선언했다: “HTML은 출판 형식(Publishing Format)이고, 마크다운은 작성 형식(Writing Format)이다.”.4 이 구분은 마크다운의 설계 범위를 이해하는 데 매우 중요하다. 마크다운은 HTML의 모든 기능을 대체하려는 시도가 결코 아니며, 그럴 의도도 없었다. 오히려 산문(prose)을 쉽게 읽고, 쓰고, 편집하는 과정 자체에 온전히 집중하기 위한 도구이다.10

따라서 마크다운의 문법은 일반 텍스트로도 충분히 그 의미를 전달할 수 있는 매우 제한된 HTML 태그의 부분집합(subset)에만 대응하도록 설계되었다.10 글자색 변경, 복잡한 테이블 레이아웃, 특정 속성을 가진 <div> 태그 등 일반 텍스트로 표현하기 어려운 서식은 의도적으로 문법에서 제외되었다. 대신, 마크다운은 이러한 고급 서식이 필요할 경우 사용자가 주저 없이 HTML 태그를 직접 문서에 삽입하도록 권장한다. 마크다운 파서는 문서 내의 HTML 블록을 인식하고, 그 내부에서는 마크다운 문법을 처리하지 않은 채 그대로 통과시킨다. 이는 마크다운의 한계가 아니라, 단순성을 유지하면서도 필요할 때 HTML의 모든 기능을 활용할 수 있도록 열어둔 의도된 설계의 일부이다.10

마크다운이 인기를 얻고 다양한 구현체들이 등장하면서, 문법의 모호한 부분들을 명확히 하고 기능을 확장하기 위한 표준화 요구가 자연스럽게 생겨났다.8 그러나 창시자인 그루버는 이러한 움직임에 회의적이었고, 완전한 표준화가 오히려 실수일 것이라고 주장했다. 그는 “서로 다른 사이트와 사람들은 각기 다른 필요를 가진다. 단 하나의 문법이 모두를 행복하게 할 수는 없다”고 언급하며, 마크다운의 유연성을 해칠 수 있는 경직된 표준화에 저항했다.8

이러한 창시자의 철학은 마크다운의 역사에 지대한 영향을 미쳤다. 그루버의 비전은 마크다운을 특정 요구에 맞춰 자유롭게 변형하고 확장할 수 있는 작고 유연한 도구로 남겨두는 것이었다. 하지만 이러한 철학적 입장은 결과적으로 마크다운의 가장 큰 약점으로 지적되는 ‘파편화(fragmentation)’ 문제의 근본적인 원인이 되었다. 창시자가 표준을 확립하고 발전시키는 데 소극적인 태도를 보이자, 테이블, 각주, 구문 강조와 같은 추가 기능이 필요했던 개발자들은 자연스럽게 자신들의 필요에 맞춰 독자적인 확장 문법, 즉 ‘플레이버(flavor)’를 만들어내기 시작했다.13 결국, 마크다운의 강점인 단순성과 유연성을 지키려던 창시자의 철학이 역설적으로 생태계의 혼란과 비호환성을 야기하는 씨앗이 된 것이다. 커뮤니티의 실용적 요구와 창시자의 개인적 비전 사이의 이러한 괴리는 이후 CommonMark와 같은 표준화 노력의 직접적인 동기가 되었다.

존 그루버의 원본 설계에 명시된 핵심 문법 요소들은 마크다운의 근간을 이루며, 현재 존재하는 거의 모든 마크다운 애플리케이션에서 공통적으로 지원하는 기반을 형성한다.15 각 문법은 ‘가독성’이라는 최우선 원칙에 따라, 일반 텍스트 환경에서도 그 의미가 직관적으로 파악되도록 설계되었다.

존 그루버의 원본 마크다운 명세는 공식적이고 엄격한 기술 사양이라기보다는 비공식적인(informal) 가이드에 가까웠다. 이로 인해 명세 자체에 여러 모호함(ambiguities)과 명확히 정의되지 않은 부분들이 존재했다.8 예를 들어, 서로 다른 문법 요소가 충돌할 때 어떤 것을 우선적으로 처리해야 하는지에 대한 우선순위(precedence) 규칙이 명시되지 않았다.

*강조*링크가 중첩될 때와 같은 엣지 케이스(edge case)에서 파서마다 다른 결과를 내놓는 원인이 되었다.26 또한, 목록의 들여쓰기나 공백 처리와 같은 세부 사항에 대한 규정이 부족하여 구현체 간에 미묘하지만 중요한 차이점을 낳았다.21

이러한 모호성은 단지 버그나 결함으로만 볼 수는 없다. 이는 마크다운의 탄생 배경과 철학에서 비롯된 의도된 특성이기도 했다. 마크다운은 엄격한 규칙보다는 이메일 등에서 사용되던 비공식적 관례에서 영감을 얻었기 때문에, 애초에 어느 정도의 유연성을 내포하고 있었다.9 이 유연성은 초기 생태계 확장에 긍정적인 역할을 했다. 엄격한 중앙 표준이 없었기 때문에, 각 플랫폼 개발자들은 자신들의 특정 요구(예: 테이블, 각주 지원)에 맞춰 마크다운을 자유롭게 해석하고 확장할 수 있었다. 즉, 모호함에서 비롯된 유연성이 다양한 ‘플레이버’가 탄생하고 성장하는 토양이 된 것이다. 마크다운의 유기적이고 탈중앙화된 성장은 바로 이 특성 덕분이었다. 그러나 이러한 개별적인 진화가 서로 다른 시스템 간의 상호운용성(interoperability)을 요구하는 단계에 이르렀을 때, 모호함은 더 이상 장점이 아닌 심각한 문제로 부상했고, 이는 결국 CommonMark와 같은 표준화 노력의 필요성을 대두시켰다.

창시자 존 그루버의 표준화에 대한 소극적인 태도와 원본 명세의 내재된 모호성은 필연적으로 마크다운 생태계의 ‘파편화(Fragmentation)’를 심화시키는 결과를 낳았다. 마크다운의 인기가 높아지면서 수십 개의 서로 다른 프로그래밍 언어로 구현된 파서들이 등장했고, 이들은 각기 다른 방식으로 엣지 케이스를 처리하고 독자적인 확장 문법을 추가했다.8

이러한 상황은 마크다운의 핵심 가치 중 하나인 ‘이식성(portability)’을 심각하게 훼손했다. 동일한 마크다운 문서임에도 불구하고 어느 플랫폼에서 보느냐에 따라 렌더링 결과가 달라지는 문제가 비일비재하게 발생했다. 이는 마크다운의 가장 큰 단점으로 꾸준히 지적되어 왔다.13 이러한 구현체 간의 차이를 시각적으로 비교하고 분석하기 위해, 여러 파서의 렌더링 결과를 한눈에 보여주는 Babelmark와 같은 온라인 도구가 등장하기도 했다. 이는 파편화 문제가 개발자 커뮤니티 내에서 얼마나 심각하게 인식되었는지를 보여주는 방증이다.8

‘플레이버(Flavor)’는 원본 마크다운 문법을 기반으로 하면서, 특정 기능(예: 표, 각주, 작업 목록 등)을 추가하거나 기존 문법의 해석 방식을 일부 수정한 파생 버전을 지칭하는 용어이다.29 이러한 플레이버의 등장은 마크다운 생태계에 양면적인 영향을 미쳤다.

긍정적인 측면에서, 플레이버는 마크다운의 기능적 한계를 극복하고 특정 도메인의 복잡한 요구사항을 충족시키는 데 결정적인 역할을 했다. 예를 들어, GitHub이 개발한 GitHub Flavored Markdown(GFM)은 테이블, 코드 블록 구문 강조, 작업 목록 등의 기능을 추가하여 소프트웨어 개발 문서 작성에 최적화된 환경을 제공했고, 이는 GFM을 사실상의 표준으로 만드는 성공 요인이 되었다.13 이처럼 플레이버는 마크다운의 적용 범위를 넓히고 생태계를 풍성하게 만드는 원동력이었다.

반면 부정적인 측면은 명확했다. 각 플레이버는 자신만의 고유한 문법을 가지므로, 플레이버 간의 호환성은 보장되지 않았다. MultiMarkdown으로 작성된 문서를 GFM 파서로 열거나, 그 반대의 경우 일부 서식이 깨지거나 의도와 다르게 표시될 수 있었다. 이는 사용자를 특정 플랫폼이나 도구에 종속시키는 결과를 낳았으며, “어디서든 쓸 수 있다”는 마크다운의 근본적인 약속을 위협했다.13

기능 Gruber Markdown (원본) CommonMark GitHub Flavored Markdown (GFM) Markdown Extra MultiMarkdown (MMD) R Markdown
펜스 코드 블록
작업 목록
취소선
자동 링크 (URL)
각주
정의 목록
수학식 (LaTeX)
메타데이터 블록
상호 참조

주: 위 표는 각 Flavor의 핵심적인 확장 기능을 요약한 것이며, 세부 구현은 다를 수 있다. CommonMark는 핵심 명세 자체에는 확장 기능이 없으나, 많은 GFM 기능이 CommonMark 기반 파서의 확장으로 구현된다.

자료 출처: 14

2014년, 마크다운 생태계의 고질적인 파편화와 모호성 문제를 해결하기 위한 구체적인 움직임이 시작되었다. Pandoc의 개발자로 유명한 존 맥팔레인(John MacFarlane)을 비롯한 개발자 커뮤니티는 CommonMark 프로젝트를 출범시켰다.8 이 프로젝트의 초기 명칭은 ‘Standard Markdown’이었으나, 마크다운의 창시자인 존 그루버가 ‘Markdown’이라는 이름의 사용에 반대하면서 현재의 ‘CommonMark’로 변경되었다.8

CommonMark의 핵심 목표는 명확했다. 첫째, 마크다운 문법에 대한 매우 상세하고 모호하지 않은 명세(unambiguous specification)를 확립하는 것이다. 둘째, 이 명세를 기준으로 구현체의 정확성을 검증할 수 있는 포괄적인 테스트 스위트(test suite)를 제공하는 것이다. 셋째, C와 JavaScript로 작성된 고성능 참조 구현체(reference implementation)를 제공하여 다른 개발자들이 이를 기반으로 안정적인 파서를 만들 수 있도록 돕는 것이었다.8

CommonMark는 기존에 없던 새로운 문법을 창조하는 것을 목표로 하지 않았다. 대신, 지난 10년간 다양한 환경에서 실제로 사용되어 온 마크다운의 용례를 수집하고 분석하여, 이를 바탕으로 “합리화된 버전(rationalized version)”을 정의하는 데 중점을 두었다.34 즉, 이론적인 완벽함보다는 현실적인 합의점을 찾는 데 초점을 맞춘 것이다.

CommonMark 명세의 가장 큰 특징은 그 철저함에 있다. 명세는 600개가 넘는 방대한 양의 예시를 포함하고 있으며, 각 예시에 대해 입력된 마크다운 텍스트와 그에 대응하는 정확한 HTML 출력 결과를 명시적으로 정의한다.27 이를 통해 과거에 모호하게 여겨졌던 모든 엣지 케이스, 예를 들어 목록 항목이 단락을 중단시키는 조건, 강조 문법의 복잡한 우선순위 규칙, 공백과 탭의 처리 방식 등을 명확하게 규정했다.36 이로써 파서 개발자들은 더 이상 모호한 부분을 추측에 의존해 구현할 필요가 없어졌고, 명세와 테스트 스위트를 통해 구현체의 일관성을 객관적으로 검증할 수 있게 되었다.

CommonMark의 등장은 마크다운 생태계에 지대한 영향을 미쳤으며, 파서 개발의 새로운 기준점이 되었다. GitHub, GitLab, Reddit, Stack Overflow와 같은 주요 플랫폼들이 CommonMark를 자신들의 마크다운 처리 방식의 기반으로 채택하거나, 이를 기반으로 자체 플레이버를 재정의하기 시작했다.33 특히 GitHub의 GFM이 CommonMark를 엄격한 상위 집합으로 정의한 것은 매우 상징적인 사건이었다.33

또한, C로 작성된 고성능 파서 cmark와 JavaScript 구현체 commonmark.js의 등장은 개발자들이 이전보다 훨씬 빠르고 안정적으로 마크다운 지원 기능을 자신들의 애플리케이션에 통합할 수 있게 해주었다.33 CommonMark는 파편화 문제를 완전히 종식시키지는 못했지만, 그 양상을 근본적으로 바꾸었다.

CommonMark의 진정한 역할은 모든 플레이버를 대체하는 ‘단 하나의 표준’이 되는 것이 아니었다. 오히려, 그것은 다양한 플레이버들이 공존할 수 있는 안정적인 ‘기반 계층(foundational layer)’ 또는 ‘공용어(Lingua Franca)’를 제공하는 것이었다. 이전에는 각 플레이버가 중구난방으로 존재했다면, CommonMark 이후에는 “CommonMark + 확장 기능”이라는 훨씬 더 예측 가능하고 안정적인 모델로 플레이버를 정의할 수 있게 되었다. 즉, CommonMark는 파편화를 끝낸 것이 아니라, 표준화된 핵심을 제공함으로써 파편화를 ‘길들인(tamed)’ 것이다. 이는 마크다운 생태계가 한 단계 더 성숙해지는 중요한 전환점이 되었다.

GitHub Flavored Markdown(GFM)은 오늘날 가장 널리 알려지고 사용되는 마크다운 플레이버로, 사실상의 표준(de facto standard) 지위를 가지고 있다.

Command Description
git status List all new files.
git diff Show file differences.

GFM 외에도 특정 목적을 위해 발전해 온 여러 중요한 플레이버들이 존재한다.

마크다운이 지난 20년간 폭발적인 성공을 거둔 데에는 명확하고 강력한 장점들이 뒷받침되었다.

강력한 장점에도 불구하고, 마크다운은 본질적인 한계와 약점 또한 명확히 가지고 있다.

마크다운은 탄생 초기부터 개발자 커뮤니티와 밀접한 관계를 맺어왔으며, 현재 개발 생태계에서 없어서는 안 될 필수적인 도구로 자리 잡았다.

마크다운은 개인 지식 관리(PKM) 및 노트 작성 분야에서도 폭발적인 인기를 얻고 있다. Obsidian, Joplin, Bear, Simplenote, Typora 등 수많은 노트 애플리케이션이 마크다운을 핵심 편집 언어로 채택했다.55

이러한 현상은 단순히 마크다운의 문법이 편리하기 때문만은 아니다. 이는 과거의 노트 앱들이 사용했던 독점적인(proprietary) 파일 포맷이나 데이터베이스 시스템에 대한 반작용으로 해석될 수 있다. 사용자들은 특정 기업의 서비스에 자신의 모든 데이터가 종속되는 ‘데이터 잠금(data lock-in)’ 현상에 피로감을 느끼고, 자신의 데이터를 온전히 소유하고 통제하고자 하는 욕구가 커졌다.6 마크다운은 이러한 요구에 완벽하게 부합하는 해결책이었다. 일반 텍스트 기반의 파일들은 특정 플랫폼에서 자유로우며, 폴더 구조를 통해 사용자가 직접 관리할 수 있다. Obsidian이나 Logseq 같은 최신 PKM 도구들은 이러한 ‘로컬 우선(local-first)’, ‘일반 텍스트 기반’ 철학을 중심으로 구축되어 사용자에게 데이터의 완전한 소유권을 보장한다. 따라서 PKM 분야에서 마크다운의 부상은 기술적 선택을 넘어, 데이터 주권과 지속 가능성을 중시하는 철학적 움직임의 결과물이라 할 수 있다.

마크다운의 활용 범위는 개발자와 기술 문서를 넘어 일반적인 콘텐츠 제작 영역으로 계속 확장되고 있다.

마크다운의 위상을 정확히 파악하기 위해서는 유사한 목적을 가진 다른 경량 마크업 언어와의 비교가 필수적이다. 여기서는 가장 대표적인 경쟁자인 AsciiDoc과 reStructuredText를 중심으로 비교 분석한다.

평가 기준 Markdown AsciiDoc reStructuredText (reST)
문법 단순성 매우 높음. 직관적이고 배우기 쉬움. 중간. 마크다운보다 기능이 많아 복잡함. 낮음. 엄격하고 복잡한 지시어(directive) 기반 문법.
가독성 (원본) 매우 높음. 최종 결과물과 거의 유사함. 높음. 마크다운과 유사하나 지시어가 포함됨. 중간. 지시어와 역할(role)로 인해 원본 가독성이 다소 떨어짐.
표준화 수준 낮음. CommonMark가 있으나 여전히 Flavor가 많음. 높음. 단일 표준으로 일관성이 보장됨. 매우 높음. Doc-utils에 의해 엄격하게 관리됨.
핵심 기능 세트 최소한의 기능만 제공 (기본 서식, 링크). 풍부함 (표, 각주, 경고문, 상호 참조 등 내장). 풍부함 (표, 각주, 지시어, 역할 등 내장).
확장성 중간. Flavor나 HTML을 통해 확장. 높음. 사용자 정의 매크로 및 블록 지원. 매우 높음. 지시어와 역할을 통한 무한한 확장 가능.
도구 생태계 매우 넓음. 범용적이며 수많은 도구에서 지원. 중간. Asciidoctor, Antora 등 강력한 전문 도구 존재. 높음. 특히 Sphinx와의 결합이 강력함 (Python 생태계).
주요 사용 사례 README, 블로그, 노트, 간단한 문서. 기술 서적, 공식 매뉴얼, 복잡한 문서 시스템. API 문서, 대규모 프로젝트 공식 문서, Python 관련 문서.

자료 출처: 60

마크다운은 지난 20년간 디지털 문서 작성의 패러다임을 근본적으로 바꾸어 놓았다. 그 핵심 유산은 복잡한 서식 도구의 방해 없이 사용자가 ‘작성’이라는 행위 자체에 온전히 집중할 수 있도록 만들었다는 점이다. 존 그루버의 ‘가독성 최우선’ 철학은 기술적 정교함이나 기능의 풍부함보다 인간의 인지적 편의를 우선시했고, 이 선택은 마크다운이 기술 전문가뿐만 아니라 일반 사용자에게까지 폭발적으로 확산되는 핵심 원동력이 되었다. 마크다운은 콘텐츠 제작의 진입 장벽을 극적으로 낮춤으로써, 더 많은 사람이 자신의 생각과 지식을 디지털 세상에 공유할 수 있는 길을 열었다.

마크다운의 역사는 그 본질에 내재된 두 가치, 즉 ‘단순성’과 ‘확장성’ 사이의 끊임없는 긴장 관계의 역사로 요약될 수 있다. 창시자는 마크다운을 작고 단순한 도구로 유지하고자 했지만, 사용자 커뮤니티는 더 많은 기능과 복잡한 요구사항을 충족시키기 위한 확장을 끊임없이 요구했다. 이 긴장 관계는 표준 부재와 플레이버의 난립이라는 혼란을 낳았고, CommonMark와 GFM의 등장은 이러한 긴장을 해소하고 실용적인 합의점을 찾으려는 생태계의 자정 노력의 산물이었다. 그러나 이 근본적인 딜레마는 여전히 마크다운의 정체성을 규정하는 핵심 요소로 남아있다.

현대의 디지털 콘텐츠 패러다임은 인간이 읽기 좋은 문서를 넘어, 기계가 읽고 재사용할 수 있는 ‘구조화된 데이터(structured data)’로 빠르게 이동하고 있다. 콘텐츠를 독립적인 구성 요소로 분해하고, 각 요소에 명확한 의미론적(semantic) 정보를 부여하여 다양한 맥락에서 재조합하는 것이 중요해지고 있다.12 마크다운의 약한 의미론적 구조는 이러한 새로운 패러다임 앞에서 명백한 도전에 직면해 있다.11 이 문제를 해결하기 위한 시도로, 마크다운 문법 내에 React 컴포넌트(JSX)를 직접 사용할 수 있게 하는 MDX(Markdown + JSX)와 같은 프로젝트가 주목받고 있다.60 이는 마크다운의 간결한 작성 경험을 유지하면서도 컴포넌트 기반의 강력한 구조를 결합하려는 시도로, 마크다운의 미래 진화 방향을 엿볼 수 있게 하는 중요한 단서이다.

결론적으로 마크다운은 그 자체로 모든 문제를 해결하는 완벽한 언어가 아니다. 그러나 그 기반은 가장 보편적이고 미래 보장적인 ‘일반 텍스트’이며, 이 단순함은 특정 기술이나 플랫폼의 흥망성쇠를 초월하는 영속성을 부여한다. 마크다운의 가장 위대한 가치는 복잡한 기술 세계로 들어가는 ‘낮은 문턱’이자 ‘단순한 시작점’으로서의 역할에 있다. 이는 새로운 사용자를 콘텐츠 제작의 세계로 이끄는 ‘트로이 목마’ 전략과도 같다.32 앞으로도 마크다운은 단독으로 존재하기보다는, Python, R, JavaScript 컴포넌트, 데이터베이스 등 다른 강력한 기술들과 결합하며 그 생명력을 이어갈 것이다. 마크다운은 언제나 글쓰기를 시작하는 가장 쉽고 편안한 방법을 제공할 것이며, 그것이 바로 이 언어의 가장 위대한 유산이자 미래 가치일 것이다.

  1. 마크다운 - 위키백과, 우리 모두의 백과사전, 8월 7, 2025에 액세스, https://ko.wikipedia.org/wiki/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4
  2. 마크다운(Markdown)이란? - Dooray!, 8월 7, 2025에 액세스, https://nhnent.dooray.com/htmls/guides/markdown_ko_KR.html
  3. 마크다운에 대하여, 8월 7, 2025에 액세스, https://tinydew4.gitbooks.io/markdown/about/
  4. Introduction to Markup - GitHub Pages, 8월 7, 2025에 액세스, https://cmohge1.github.io/lrbs-digital-editing-intro-2019/Intro-to-markup.pdf
  5. [무료] 프레젠테이션 슬라이드 제작에 특화된 마크다운 편집기 ‘Marp’ - the Mac - 티스토리, 8월 7, 2025에 액세스, https://macnews.tistory.com/4658
  6. Getting Started Markdown Guide, 8월 7, 2025에 액세스, https://www.markdownguide.org/getting-started/
  7. Markdown definition - Sanity, 8월 7, 2025에 액세스, https://www.sanity.io/glossary/markdown
  8. Markdown - Wikipedia, 8월 7, 2025에 액세스, https://en.wikipedia.org/wiki/Markdown
  9. Markdown - Daring Fireball, 8월 7, 2025에 액세스, https://daringfireball.net/projects/markdown/
  10. Markdown Syntax Documentation - Daring Fireball, 8월 7, 2025에 액세스, https://daringfireball.net/projects/markdown/syntax
  11. Why You Should and Should Not Use Markdown by Peter Conrad Medium, 8월 7, 2025에 액세스, https://stymied.medium.com/why-you-should-and-should-not-use-markdown-1b9d70987792
  12. Thoughts On Markdown - Smashing Magazine, 8월 7, 2025에 액세스, https://www.smashingmagazine.com/2022/02/thoughts-on-markdown/
  13. 마크다운(Markdown) 사용법 - GitHub Gist, 8월 7, 2025에 액세스, https://gist.github.com/ihoneymon/652be052a0727ad59601
  14. Comparing Markdown Flavors - MetaBrainz Tickets, 8월 7, 2025에 액세스, https://tickets.metabrainz.org/secure/attachment/11757/markdown_comparison.pdf
  15. Markdown Cheat Sheet, 8월 7, 2025에 액세스, https://www.markdownguide.org/cheat-sheet/
  16. Basic Syntax Markdown Guide, 8월 7, 2025에 액세스, https://www.markdownguide.org/basic-syntax/
  17. 마크다운(MarkDown) 작성 문법 총정리 - Inpa Dev ‍ - 티스토리, 8월 7, 2025에 액세스, https://inpa.tistory.com/entry/MarkDown-%F0%9F%93%9A-%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4-%EB%AC%B8%EB%B2%95-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC
  18. 마크다운(MarkDown) 사용법 총정리 - HEROPY.DEV, 8월 7, 2025에 액세스, https://www.heropy.dev/p/B74sNE
  19. Basic formatting syntax - Obsidian Help, 8월 7, 2025에 액세스, https://help.obsidian.md/syntax
  20. Markdown Basics - Daring Fireball, 8월 7, 2025에 액세스, https://daringfireball.net/projects/markdown/basics
  21. The Markdown elements outlined in John Gruber’s design document. - GitHub, 8월 7, 2025에 액세스, https://gist.github.com/hasancaslan/ae757b33ef1946a6f8ce20aae2feabf4
  22. Markdown 문법 총정리, 8월 7, 2025에 액세스, https://velog.io/@sisofiy626/Markdown-%EB%AC%B8%EB%B2%95-%EC%B4%9D%EC%A0%95%EB%A6%AC
  23. 사실은 내가 보기위한 마크다운 문법설명서 - 2. 리스트와 인용구 - GitHub Gist, 8월 7, 2025에 액세스, https://gist.github.com/ninanung/73addc0263b34da5f021d2f02a356b7f
  24. Markdown Syntax for Files, Widgets, Wikis - Azure DevOps Microsoft Learn, 8월 7, 2025에 액세스, https://learn.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops
  25. Markdown(마크다운) 설명 및 사용법, 8월 7, 2025에 액세스, https://malgun-gothic.tistory.com/2
  26. r/programming - Standard Flavored Markdown - Reddit, 8월 7, 2025에 액세스, https://www.reddit.com/r/programming/comments/2fdsan/standard_flavored_markdown/
  27. List item - CommonMark Spec, 8월 7, 2025에 액세스, https://spec.commonmark.org/0.26/
  28. 마크다운(MarkDown) 문법 정리 - JJukE’s Brain - 티스토리, 8월 7, 2025에 액세스, https://jjuke-brain.tistory.com/entry/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4MarkDown-%EB%AC%B8%EB%B2%95-%EC%A0%95%EB%A6%AC
  29. 기초 Markdown(마크다운) 문법 봅시다~ - About IT Tutorials, 8월 7, 2025에 액세스, https://azanewta.tistory.com/41
  30. Extended Syntax - Markdown Guide, 8월 7, 2025에 액세스, https://www.markdownguide.org/extended-syntax/
  31. Variants and Flavors of Markdown - Luis Llamas, 8월 7, 2025에 액세스, https://www.luisllamas.es/en/markdown-flavors-and-variants/
  32. The pros and cons of using Markdown - passo.uno, 8월 7, 2025에 액세스, https://passo.uno/pros-cons-markdown/
  33. A formal spec for GitHub Flavored Markdown, 8월 7, 2025에 액세스, https://github.blog/engineering/user-experience/a-formal-spec-for-github-markdown/
  34. High Performance CommonMark and Github Markdown Rendering in R - Docs, 8월 7, 2025에 액세스, https://docs.ropensci.org/commonmark/
  35. commonmark - NPM, 8월 7, 2025에 액세스, https://www.npmjs.com/package/commonmark
  36. commonmark-java/CHANGELOG.md at main - GitHub, 8월 7, 2025에 액세스, https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md
  37. GitLab Flavored Markdown (GLFM), 8월 7, 2025에 액세스, https://docs.gitlab.com/user/markdown/
  38. GitHub is now using CommonMark and a modified version of cmark, 8월 7, 2025에 액세스, https://talk.commonmark.org/t/github-is-now-using-commonmark-and-a-modified-version-of-cmark/2365
  39. Java library for parsing and rendering CommonMark (Markdown) - GitHub, 8월 7, 2025에 액세스, https://github.com/commonmark/commonmark-java
  40. CommonMark: Standard Markdown - Racket Documentation, 8월 7, 2025에 액세스, https://docs.racket-lang.org/commonmark/index.html
  41. github.github.com, 8월 7, 2025에 액세스, https://github.github.com/gfm/#:~:text=GitHub%20Flavored%20Markdown%2C%20often%20shortened,a%20strict%20superset%20of%20CommonMark.
  42. Understanding CommonMark and GFM in the Context of iOS Markdown Rendering, 8월 7, 2025에 액세스, https://ajkueterman.medium.com/understanding-commonmark-and-gfm-in-the-context-of-ios-markdown-rendering-16af9574cd8f
  43. GitHub Flavored Markdown Spec, 8월 7, 2025에 액세스, https://github.github.com/gfm/
  44. Markdown Cheatsheet - GitHub, 8월 7, 2025에 액세스, https://github.com/adam-p/markdown-here/wiki/markdown-cheatsheet
  45. Markdown Tables - GeeksforGeeks, 8월 7, 2025에 액세스, https://www.geeksforgeeks.org/html/markdown-tables/
  46. Organizing information with tables - GitHub Docs, 8월 7, 2025에 액세스, https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables
  47. Use GFM style with markdown-it and mdformat instead of commonmark - Reddit, 8월 7, 2025에 액세스, https://www.reddit.com/r/learnpython/comments/vmobno/use_gfm_style_with_markdownit_and_mdformat/
  48. GitHub flavored markdown (GFM) - MDX, 8월 7, 2025에 액세스, https://mdxjs.com/guides/gfm/
  49. Obsidian Flavored Markdown, 8월 7, 2025에 액세스, https://help.obsidian.md/obsidian-flavored-markdown
  50. Markdown - Simple to write, limited features - MonsterWriter, 8월 7, 2025에 액세스, https://www.monsterwriter.com/markdown/markdown-benefits-and-drawbacks.html
  51. 마크다운의 장점: RAG-LLM에서 텍스트 추출과 임베딩의 용이성, 8월 7, 2025에 액세스, https://medtalk.tistory.com/entry/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4%EC%9D%98-%EC%9E%A5%EC%A0%90-RAG-LLM%EC%97%90%EC%84%9C-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%B6%94%EC%B6%9C%EA%B3%BC-%EC%9E%84%EB%B2%A0%EB%94%A9%EC%9D%98-%EC%9A%A9%EC%9D%B4%EC%84%B1
  52. www.markdownguide.org, 8월 7, 2025에 액세스, https://www.markdownguide.org/getting-started/#:~:text=Markdown%20is%20future%20proof.,using%20a%20text%20editing%20application.
  53. How is Markdown future proof since it may no longer be supported in the, 8월 7, 2025에 액세스, https://www.reddit.com/r/Markdown/comments/lwi4e2/how_is_markdown_future_proof_since_it_may_no/
  54. Markdown Code Reviews - Engineering Fundamentals Playbook - Microsoft Open Source, 8월 7, 2025에 액세스, https://microsoft.github.io/code-with-engineering-playbook/code-reviews/recipes/markdown/
  55. Tools - Markdown Guide, 8월 7, 2025에 액세스, https://www.markdownguide.org/tools/
  56. How to Write a Good README File for Your GitHub Project - freeCodeCamp, 8월 7, 2025에 액세스, https://www.freecodecamp.org/news/how-to-write-a-good-readme-file/
  57. Best Practices For An Eye Catching GitHub Readme - Hatica, 8월 7, 2025에 액세스, https://www.hatica.io/blog/best-practices-for-github-readme/
  58. About READMEs - GitHub Docs, 8월 7, 2025에 액세스, https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes
  59. What Is Markdown? Uses and Benefits Explained - Medium, 8월 7, 2025에 액세스, https://medium.com/@AlexanderObregon/what-is-markdown-uses-and-benefits-explained-947300e1f955
  60. Markdown, Asciidoc, or reStructuredText - a tale of docs-as-code - Dewan Ahmed, 8월 7, 2025에 액세스, https://www.dewanahmed.com/markdown-asciidoc-restructuredtext/
  61. Markdown (optional) Technical Writing - Google for Developers, 8월 7, 2025에 액세스, https://developers.google.com/tech-writing/one/markdown
  62. How to use Markdown for writing documentation Adobe Experience Cloud, 8월 7, 2025에 액세스, https://experienceleague.adobe.com/en/docs/contributor/contributor-guide/writing-essentials/markdown
  63. www.google.com, 8월 7, 2025에 액세스, https://www.google.com/search?q=markdown+note+taking+apps
  64. Best Markdown Note Taking Apps for 2025 - Tool Finder, 8월 7, 2025에 액세스, https://toolfinder.co/lists/best-markdown-notetaking-apps
  65. I Wish AsciiDoc was more popular - pdx.su, 8월 7, 2025에 액세스, https://pdx.su/blog/2023-02-05-asciidoc-and-markdown/
  66. Markdown vs AsciiDoc - which is better? James Read’s Code, Containers & Cloud blog, 8월 7, 2025에 액세스, https://blog.jread.com/posts/markdown-vs-asciidoc/
  67. Common markup for Markdown and reStructuredText - GitHub Gist, 8월 7, 2025에 액세스, https://gist.github.com/dupuy/1855764
  68. md vs .rst / community / Discussion #86067 - GitHub, 8월 7, 2025에 액세스, https://github.com/orgs/community/discussions/86067
  69. reStructuredText v.s. Markdown - - - ESP-Docs User Guide latest documentation, 8월 7, 2025에 액세스, https://docs.espressif.com/projects/esp-docs/en/latest/introduction/restructuredtext-vs-markdown.html