온라인 소셜 네트워크나 커뮤니티 포럼을 자주 이용한다면, 마크다운(Markdown)이 무엇인지 모른 채 이미 사용해 본 적이 있을 가능성이 높습니다.
웹에 오랫동안 익숙한 사람들에게 HTML은 처음 접하는 가장 기본적인 코딩 언어였습니다. 하지만 마크다운은 그보다 훨씬 간단합니다. 실제로 전문 강좌가 따로 존재하지 않을 정도로 단순해서, 단 몇 분 만에 배울 수 있습니다.

이 글에서는 마크다운이 무엇인지 기본 개념부터 시작해, 웹에서 가장 인기 있는 경량 마크업 언어 중 하나인 마크다운에 대해 알아야 할 모든 것을 살펴보겠습니다.
마크다운이란 무엇인가?
마크다운이라는 이름은 '마크업(markup)'에서 따온 말장난입니다. 마크업은 '인쇄를 위해 원고를 교정하는 과정 또는 그 결과'로 정의되며, 프로그래밍 언어가 인터프리터와 렌더링 엔진과 상호작용하여 웹을 브라우징하는 사용자에게 텍스트를 보여주는 방식을 정확히 설명하는 표현입니다.
HTML은 '하이퍼텍스트 마크업 언어(Hypertext Markup Language)'의 약자입니다. 따라서 마크다운은 HTML 코드를 더 쉽게 작성하는 방법이라 할 수 있으며, 다만 HTML만큼 강력하지는 않습니다.

마크다운은 2004년 존 그루버(John Gruber)와 아론 스워츠(Aaron Swartz)가 만들었습니다. 두 사람은 사람들이 "읽기 쉽고 쓰기 쉬운 일반 텍스트 형식으로 글을 작성하고, 선택적으로 구조적으로 유효한 XHTML(또는 HTML)로 변환할 수 있도록" 하는 것을 목표로 했습니다.
마크다운의 핵심 목표 중 하나는 다른 대안들에 비해 가독성을 높이는 것이었습니다. 덕분에 마크다운으로 글을 쓰거나 일반 텍스트 형태의 마크다운 코드를 읽는 일이 매우 간단합니다.
마크다운을 사용하는 사이트
마크다운은 단순히 HTML을 더 쉽게 작성하는 방법일 뿐이므로, 스스로를 "마크다운으로 작성된 웹사이트"라고 소개하는 곳은 찾아보기 어렵습니다. 대신 사용자가 게시물을 작성하거나 기여할 때 마크다운을 지원하는 웹사이트는 매우 많습니다.
대표적인 예가 GitHub입니다. GitHub 저장소마다 미리 생성되어 있는 README.md 파일에는 마크다운이 사용됩니다. 여기서 알 수 있듯이 MD는 마크다운 코드로 작성된 파일의 확장자입니다.

Reddit과 Stack Exchange 역시 사용자가 게시물을 더 깔끔하게 정리하고 자신을 표현할 수 있도록 마크다운을 활용합니다. Stack Overflow 같은 Stack Exchange 사이트가 마크다운을 통해 일반 텍스트를 읽기 좋은 형식의 코드 조각으로 변환하지 못했다면, 지금과 같은 모습이 아니었을 것입니다.
마크다운 사용 방법
위 예시 이미지는 Reddit에 새 텍스트 게시물을 작성할 때의 마크다운 서식 예시를 보여줍니다. 기본 내용을 다루고 있지만, 자주 쓰이는 몇 가지 예시가 빠져 있으므로 함께 살펴보겠습니다.
제목(Headers)
마크다운에서 제목을 만들려면 텍스트 앞에 #(샵 기호)를 입력하면 됩니다. 샵 기호의 개수가 많아질수록 제목의 수준은 낮아집니다. 예를 들어 # 하나는 가장 큰 제목이 되고, ### 세 개는 더 작은 소제목으로 표시됩니다.
HTML에서는 이것이 단순히 <h> 태그로 변환됩니다. 예를 들어 #는 <h1>에, ###는 <h3>에 해당합니다.
이미지(Images)
링크와 비슷하게, 마크다운에서 이미지는 대체 텍스트(alt)를 대괄호 [ ]로 감싸고 URL을 괄호 ( )로 감싸서 만듭니다. 예시는 다음과 같습니다:
[Help Desk Geek 로고](https://helpdeskgeek.com/wp-content/themes/hdg/images/hdg-banner.png)
인라인 코드(Inline Code)
줄 시작 부분에 공백 네 칸을 입력하면 코드 블록이 생성되지만, 인라인 코드는 텍스트를 백틱(`)으로 감싸기만 하면 됩니다. 예시는 다음과 같습니다:
`int main(){printf ("Hi World\n");return 0;}`
마크다운 텍스트 에디터
마크다운을 제대로 익히고 싶다면 데스크톱 텍스트 에디터의 도움을 받는 것이 좋은 출발점입니다. 또한 마크다운은 브라우저에서 실시간으로 렌더링할 수 있고 복잡한 서버 측 처리가 필요 없기 때문에, 온라인 마크다운 에디터도 활용할 수 있습니다.
독립형(데스크톱) 마크다운 에디터
Windows, macOS, Linux에서 사용할 수 있는 최고의 독립형 마크다운 에디터(그리고 종합적인 텍스트 에디터) 중 하나는 Sublime Text입니다.

마크다운 구문 강조를 활성화하려면 MD 파일을 불러오거나, 상태 표시줄 오른쪽의 Plain Text를 클릭해 구문 강조를 Markdown으로 설정하기만 하면 됩니다.
그 외에도 Typora(Mac)와 Remarkable(Linux) 같은 훌륭한 무료 마크다운 에디터가 있습니다.
웹 기반 마크다운 에디터
웹 기반 마크다운 에디터는 일반적으로 기능이 더 풍부하므로 적극 추천합니다.

예를 들어 StackEdit는 방해 요소 없는 인터페이스와 두 개의 패널을 제공합니다. 하나는 마크다운 코드를 입력하는 패널이고, 다른 하나는 작성 중인 텍스트를 실시간으로 미리 볼 수 있는 동적 미리보기 패널입니다.
StackEdit를 처음 사용한다면 Start Writing 버튼을 클릭하기만 하면 됩니다. 그러면 예제 마크다운 코드와 사용 안내가 미리 채워져 있는 웹 기반 에디터로 이동합니다.
StackEdit가 원하는 기능을 충족하지 못한다면 Dillinger나 Editor.md도 확인해 보세요.
마크다운은 웹 곳곳에 존재하며, 인터넷을 막 접한 사람이라면 아마 처음 배우게 될 비공식 '코딩 언어'일 것입니다. 매우 유용하며 온라인에서 텍스트로 소통하는 방식을 한층 향상시켜 줍니다. 이 글이 마크다운을 이해하는 데 도움이 되었기를 바랍니다!