블로그 목록
life2026-07-105분

마크다운 에디터: 가벼운 문서 작성 언어의 모든 것

마크다운 문법의 기본과 확장 문법, 인기 있는 마크다운 에디터 비교를 상세히 설명합니다.


마크다운 에디터: 가벼운 문서 작성 언어의 모든 것

마크다운이란 무엇인가

마크다운(Markdown)은 2004년 존 그루버(John Gruber)가 개발한 경량 문서 작성 언어입니다. 마크다운은 읽기 쉬운 텍스트 형식으로 문서를 작성한 후, HTML이나 다른 형식으로 손쉽게 변환할 수 있도록 설계되었습니다.

마크다운의 핵심 철학은 "읽기 쉬운 텍스트가 곧 유효한 문서"입니다. 따라서 마크다운으로 작성된 문서는 마크다운 변환기 없이도 그대로 읽을 수 있으며, 동시에 다양한 형식으로 변환할 수 있습니다. 이는 마크다운이 기술 문서, README, 블로그 포스트, 노트 등 다양한 용도로 활용되는 이유입니다.

그루버는 마크다운을 개발하면서, 기존의 워드 프로세서나 HTML 편집기의 번거로움을 줄이고, 순수 텍스트만으로도 아름다운 문서를 작성할 수 있는 환경을 만들고자 하였습니다. 마크다운은 순수 텍스트이므로 버전 관리 시스템(Git 등)과 자연스럽게 호환되며, 파일 크기도 극히 작습니다.

기본 마크다운 문법

제목(Headers)

마크다운에서 제목은 # 기호를 사용하여 작성합니다. #의 개수가 제목 수준을 결정하며, 1개부터 6개까지 지원됩니다:

```markdown

제목 1 (H1)


제목 2 (H2)


제목 3 (H3)


#### 제목 4 (H4)
##### 제목 5 (H5)
###### 제목 6 (H6)
```

제목은 문서의 구조를 명확하게 나타내며, 검색 엔진 최적화(SEO)와도 관련이 있습니다. 일반적으로 하나의 문서에는 H1이 하나만 있어야 하며, 하위 제목은 H2부터 시작하는 것이 권장됩니다. HTML로 변환 시 H1은 `

` 태그로, H2는 `

` 태그로 변환됩니다.

강조(Bold, Italic)

텍스트 강조를 위한 기본 문법은 다음과 같습니다:

```markdown
굵게 또는 __굵게__
기울임 또는 _기울임_
굵게+기울임 또는 ___굵게+기울임___
```

강조는 문서에서 중요한 내용을 표시할 때 유용하며, 적절한 사용은 문서의 가독성을 높입니다. 과도한 강조는 오히려 가독성을 해칠 수 있으므로, 핵심 용어나 중요한 개념에만 사용하는 것이 좋습니다.

목록(Lists)

마크다운은 순서 목록과 비순서 목록을 지원합니다:

비순서 목록:
```markdown

  • 항목 1

  • 항목 2

- 하위 항목 2-1
- 하위 항목 2-2
  • 항목 3

```

순서 목록:
```markdown

  • 첫 번째 항목

  • 두 번째 항목

  • 1. 하위 항목 2-1
    2. 하위 항목 2-2
  • 세 번째 항목

  • ```

    목록은 정보를 구조화하여 전달할 때 매우 효과적이며, 튜토리얼이나 절차 안내 문서에서 자주 사용됩니다. 마크다운은 최대 6단계까지의 중첩 목록을 지원합니다.

    링크와 이미지

    링크와 이미지는 다음 문법으로 작성합니다:

    ```markdown
    표시 텍스트
    도움말

    !대체 텍스트
    !도움말 이미지
    ```

    링크는 웹 문서의 핵심 요소이며, 마크다운은 간결한 문법으로 손쉽게 하이퍼링크를 삽일할 수 있게 합니다. 이미지의 경우, 대체 텍스트(alt text)를 반드시 포함하는 것이 접근성 측면에서 권장됩니다. 대체 텍스트는 이미지가 로드되지 않을 때 표시되며, 스크린 리더 사용자에게 이미지 내용을 전달합니다.

    코드와 인용구

    인라인 코드와 블록 코드는 다음과 같이 작성합니다:

    인라인 코드:
    ```markdown
    `코드 조각`
    ```

    인용구:
    ```markdown
    > 이것은 인용구입니다.
    > 여러 줄에 걸쳐 작성할 수 있습니다.
    >
    > > 중첩 인용구도 가능합니다.
    ```

    코드 블록은 기술 문서에서 필수적이며, 프로그래밍 언어별 구문 강조(Syntax Highlighting)를 지원합니다. 인용구는 참고 문헌이나 외부 의견을 인용할 때 사용됩니다.

    확장 마크다운 문법

    기본 마크다운 외에도许多 확장 문법이 있으며, 가장 널리 사용되는 것들을 소개합니다:

    표(Tables)

    표는 파이프(|)와 하이픈(-)을 사용하여 작성합니다:

    ```markdown
    | 열 1 | 열 2 | 열 3 |
    |------|------|------|
    | 셀 1 | 셀 2 | 셀 3 |
    | 셀 4 | 셀 5 | 셀 6 |
    ```

    표는 데이터를 구조화된 형태로 표현할 때 유용하며, 비교 분석이나 기술 문서에서 자주 사용됩니다. 일부 마크다운 렌더러는 정렬도 지원합니다:

    ```markdown
    | 왼쪽 정렬 | 가운데 정렬 | 오른쪽 정렬 |
    |:---------|:---------:|----------:|
    | 텍스트 | 텍스트 | 텍스트 |
    ```

    코드 블록(Code Blocks)

    구문 강조가 적용된 코드 블록은 다음과 같이 작성합니다:

    ````markdown
    ```python
    def hello():
    print("안녕하세요!")
    ```
    `````

    마크다운은 수백 가지 프로그래밍 언어의 구문 강조를 지원합니다. 언어를 지정하면 해당 언어의 키워드, 문자열, 주석 등이 각기 다른 색상으로 표시되어 코드의 가독성이 크게 향상됩니다.

    각주(Footnotes)

    각주는 참고 문헌이나 추가 설명을 표시할 때 사용합니다:

    ```markdown
    이 텍스트에는 각주가 있습니다[^1].

    [^1]: 이것은 각주 내용입니다.
    ```

    각주는 학술 논문이나 긴 기술 문서에서 참고 자료를 표시할 때 유용합니다. 일부 마크다운 렌더러는 각주를 문서 하단이나 페이지 하단에 자동으로 표시합니다.

    할 일 목록(To-do Lists)

    할 일 목록은 체크박스를 포함하여 작성합니다:

    ```markdown

    • [x] 완료된 작업

    • [ ] 미완료 작업

    • [ ] 진행 중인 작업

    ```

    이 기능은 프로젝트 관리나 일정 관리 문서에서 활용도가 높으며, GitHub Issues나 Notion 등에서도 지원됩니다.

    HTML 호환성

    마크다운은 HTML과 완전히 호환됩니다. 마크다운 문서 내에서 직접 HTML 태그를 사용할 수 있으며, 이는 마크다운의 유연성을 크게 높여줍니다:

    ```markdown


    이 텍스트는 빨간색으로 표시됩니다.





    HTML 테이블

    ```

    이러한 호환성 덕분에 마크다운은 기존 HTML 웹페이지와 자연스럽게 통합될 수 있습니다. 마크다운은 HTML의 서브셋을 지원하므로, 마크다운 문법으로 표현할 수 없는 복잡한 레이아웃은 HTML 태그로 직접 구현할 수 있습니다.

    다만, 과도한 HTML 사용은 마크다운의 가독성을 해칠 수 있으므로, 마크다운 문법으로 표현 가능한 기능은 마크다운을 사용하는 것이 권장됩니다.

    실용적 활용 사례

    마크다운은 다음과 같은 상황에서 널리 사용됩니다:

    README 문서

    소프트웨어 프로젝트의 README.md 파일은 사실상 표준으로 자리잡았습니다. GitHub, GitLab 등 모든 메이저 코드 호스팅 플랫폼이 마크다운을 지원하며, 프로젝트의 설치 방법, 사용법, 기여 가이드 등을 마크다운으로 작성합니다.

    기술 문서

    API 문서, 라이브러리 문서, 시스템 아키텍처 문서 등 기술 문서 작성에 가장 적합한 형식입니다. Swagger/OpenAPI 사양도 마크다운 기반이며, 개발자 간의 지식 공유에 필수적인 도구입니다.

    개인 노트

    Notion, Obsidian, Roam Research 등의 개인 지식 관리 도구가 마크다운을 기반으로 하거나 마크다운을 지원합니다. Obsidian은 로컬 마크다운 파일을 지식 그래프로 연결하는 기능을 제공하며, 개발자와 학자들 사이에서 인기가 높습니다.

    블로그 포스트

    Jekyll, Hugo, Gatsby 등의 정적 사이트 생성기가 마크다운을 입력 형식으로 사용하며, 개발자 블로그의 표준이 되었습니다. 마크다운으로 작성한 블로그 포스트는 정적 HTML로 변환되어 빠르게 로드됩니다.

    인기 마크다운 에디터 비교

    VS Code

    Visual Studio Code는 마크다운 편집을 위한 풍부한 확장을 제공합니다:

    • Markdown All in One: 자동 완성, 미리보기, 목차 생성, 테이블 편집

    • Markdown Preview Enhanced: 실시간 미리보기, PDF 내보내기, 다이어그램 지원

    • Prettier: 코드 포맷팅 자동화


    VS Code의 장점은 마크다운 편집뿐 아니라, 개발 환경과 통합되어 있다는 점입니다. 코드 블록의 문법 강조가 뛰어나며, Git 연동도 자연스럽습니다.

    Obsidian

    Obsidian은 로컬 마크다운 파일을 지식 그래프로 연결하는 도구입니다:

    • 그래프 뷰: 문서 간 연결 시각화

    • 백링크: 역방향 링크 자동 생성

    • 플러그인 생태계: 다양한 기능 확장 가능


    Obsidian은 로컬 파일 시스템을 기반으로 하므로, 인터넷 연결 없이도 사용할 수 있습니다. 또한, 백링크 기능을 통해 문서 간의 연결을 자동으로 생성하여, 지식 관리에 매우 효과적입니다.

    Typora

    Typora는 WYSIWYG(보이는 대로 편집) 방식의 마크다운 에디터입니다:

    • 실시간 렌더링: 마크다운 문법을 입력하는 즉시 결과가 표시

    • 드래그 앤 드롭: 이미지와 파일을 드래그하여 삽입

    • 다양한 테마: 사용자 정의 테마 지원


    Typora의 가장 큰 장점은 소스 코드와 미리보기가 분리되어 있지 않다는 점입니다. 텍스트를 입력하면 바로 렌더링된 결과가 표시되어, 마크다운 초보자도 쉽게 사용할 수 있습니다.

    Notion

    Notion은 마크다운을 지원하는 올인원 워크스페이스입니다:

    • 블록 기반 편집: 모든 요소를 블록으로 관리

    • 데이터베이스: 표, 보드, 타임라인 등 다양한 뷰

    • 협업 기능: 실시간 공동 편집 지원


    Notion은 팀 협업에 최적화되어 있으며, 프로젝트 관리, 문서화, 지식 관리 등을 하나의 플랫폼에서 수행할 수 있습니다. 마크다운 단축키도 지원하여 빠른 편집이 가능합니다.

    마크다운 작성 팁

    효과적인 마크다운 작성을 위한 팁은 다음과 같습니다:

  • 일관된 들여쓰기: 들여쓰기를 일관되게 사용하여 가독성을 높입니다. 탭 대신 4칸 또는 2칸을 사용하는 것이 일반적입니다.
  • 빈 줄 활용: 단락 사이에 빈 줄을 넣어 구분을 명확히 합니다. 빈 줄이 없으면 마크다운이 단락으로 인식하지 못할 수 있습니다.
  • 적절한 제목 계층: H1부터 순차적으로 사용하여 문서 구조를 명확히 합니다. 제목을 건너뛰면(예: H1에서 H3로) 문서 구조가 불명확해집니다.
  • 목차 생성: 긴 문서에는 목차를 포함하여 접근성을 높입니다. 일부 마크다운 에디터는 자동으로 목차를 생성하는 기능을 제공합니다.
  • 링크와 이미지 설명: 대체 텍스트(alt text)를 항상 포함하여 접근성을 높입니다. 스크린 리더 사용자와 검색 엔진이 이미지 내용을 이해하는 데 도움이 됩니다.
  • 코드 블록에 언어 지정: 코드 블록의 시작 부분에 프로그래밍 언어를 지정하면 구문 강조가 적용되어 가독성이 크게 향상됩니다.
  • 결론

    마크다운은 단순하면서도 강력한 문서 작성 언어로, 개발자와 비개발자 모두에게 유용한 도구입니다. 기본 문법을 익히면 빠르게 문서를 작성할 수 있으며, 확장 문법을 활용하면 다양한 형식의 문서를 만들 수 있습니다. HTML과의 호환성, 버전 관리 시스템과의 자연스러운 통합, 다양한 에디터 지원 등은 마크다운의 장점을 더욱 부각시킵니다. 이 에디터를 활용하여 마크다운으로 효율적인 문서 작성을 경험하시기 바랍니다.