C.W.K.
Stream
Lesson 01 of 08 · published

Markdown 이 뭐야 — 그리고 왜 안 사라지나

~10 min · markdown, commonmark, history

Level 0평문
0 XP0/64 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

평문이 서식 있는 글로 렌더링되는 마법

Markdown 은 경량 마크업 언어 야. John Gruber 가 2004 년에 만들었어. 평문에다 간단한 기호를 섞어 쓰면, 파서가 그걸 읽어서 헤딩, 굵게, 링크, 코드 블록 같은 풍부한 HTML 로 바꿔.

지금 표준은 CommonMark (spec 0.31.2). CommonMark 이전엔 파서마다 엣지 케이스를 다르게 해석했어. CommonMark 가 그걸 정리해서 '이 Markdown' → '이 HTML' 이 어디서나 일치하게 만든 거야.

이미 만나고 있는 곳

  • GitHub — README, issue, PR, discussion, wiki.
  • 문서 — MkDocs, Docusaurus, VitePress, Read the Docs.
  • 노트 — Obsidian, Notion, Bear, Typora, Logseq.
  • 정적 사이트 & 블로그 — Hugo, Jekyll, Astro, Next.js MDX.
  • 채팅 — Slack, Discord, Mattermost (Markdown 부분집합).
  • 기술 문서 — API 문서, changelog, RFC, runbook.

왜 평문 포맷이 계속 이기나

Markdown 파일은 그냥 텍스트야. git 에서 깔끔하게 diff 되고, 에디터 바뀌어도 살아남고, 어디서 썼는지 잊어버린 그 반짝거리던 도구보다 오래 살아. 2010 년에 쓴 Markdown 열어봐 — 지금도 읽혀. 매크로 박힌 2010 년 워드 문서 열어봐 — 행운을 빌어.

렌더링 흐름

Markdown 프로세서 (parser + renderer) 가 텍스트를 읽고, 블록과 인라인의 추상 구문 트리 (AST) 를 만들고, 트리를 순회하면서 HTML 을 뱉어. 프로세서마다 같은 spec 을 따르지만 확장은 제각각이야.

원칙: Markdown 을 '내 에디터에서 잘 보이는 거' 추측이 아니라 렌더러와의 계약 으로 다뤄. 그 계약이 CommonMark 야.

Code

첫 Markdown·markdown
# My Project

This is **bold** and this is *italic*.

- Item one
- Item two

[Visit GitHub](https://github.com)
pandoc 으로 로컬 렌더링·bash
# Markdown → HTML 변환
pandoc README.md -o README.html

# 또는 standalone 스타일된 HTML
pandoc README.md -s --metadata title="Demo" -o README.html

# 브라우저로 열어보기
open README.html

External links

Exercise

scratch.md 라는 새 파일을 만들고 이번 주에 한 일에 대한 작은 글을 써봐 (3 문단, 리스트 하나, 링크 하나, 코드 블록 하나). pandoc scratch.md -s -o scratch.html 로 렌더링하고 결과 열어봐. HTML 소스 읽으면서 Markdown 줄 하나하나가 어떤 HTML 로 변했는지 매칭해 봐.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.