마크다운(MarkDown)으로 글쓰기

마크다운(MarkDown)이란?

컴퓨터에서 글은 다양한 형태로 저장될 수 있다. 예를들어 메모장에서 글을 쓴다면 텍스트(Plain Text) 형식으로 저장되는데, 포멧 자체가 그냥 표준이다. 거의 모든 다른 텍스트 에디터에서 100% 호환된다. 대신 글을 꾸미기 밋밋해진다. 글자의 굵기, 크기, 색상, 레이아웃등을 표현할 수 없다.

반대로 글을 MS Word나 한컴오피스에서 쓴다면? 훨씬 풍부한 형식으로의 표현이 가능하다. 글자의 모양이나 색상 뿐 아니라 그림이나 표를 입력할 수도 있고 목차를 관리할 수도 있다. 역으로 호환성은 급격히 떨어진다. 지금은 그나마 이것도 나아져서 MS Word에서 작업한 글을 복사해서 한컴오피스에 붙여넣으면 그럭저럭 비슷하게 잘 붙는다. 복사-붙여넣기 할 때 Rich Text Format 형태를 거치는 것이라 웹의 게시판에 붙여넣기 해도 그럭저럭 쓸만하다. (예전에는… 처참했다. 그림이 안붙는건 당연하고, 표같은 경우 선과 글이 분리되는 참사가 발생하곤 했다.)

이렇게 표현의 풍부함과 호환성은 배타적인 관계이다. 쉽게 생각해도 다양한 표현이 들어갈 수록 그 정보를 저장해야 하고, 저장하는 형식에 대한 약속이 있어야 하니 일반적인 호환성이 떨어질 수 밖에 없는 것. 어떤 것을 중요하게 생각해야 하느냐에 따른 선택을 해야 한다.

마크다운 문법은 그 중 텍스트 쪽에 가까운 절충점 중 하나이다. 저장형태는 텍스트 형태로 유지하면서 최소한의 표현을 규약으로 정한 것. 혹시 마크다운에 대한 문법을 전혀 모른다면, 몇 가지 예시를 보면 좋다. "마크다운"이라고 검색하면 나오는 글이 많이 있다. 마크다운 문법에 대한 글도 참조하면 좋다.

문서의 내용에 중점을 둔 마크업 언어

마크다운 문법도 텍스트의 특정 구문에 대해 마크다운 툴에서 보여주는 형식을 변환하기 때문에, 일종의 마크업 언어라고 할 수 있다. (마크다운은 고유명사이며 Mark-up은 일반명사) 그렇게 보면 마크다운도 앞서 말한 HTML의 경우와 조금 비슷할 수 있다. HTML은 HyperText Markup Language의 약자인데, 저장형태는 마찬가지로 텍스트(PlainText)형식이며 다양한 꾸미기 문법이 존재한다. 다만 표현 중심의 언어이므로 문서의 내용과 표현이 함께 포함되어 있다. 다음의 HTML과 마크다운 두 예시를 보면 대략의 차이를 알 수 있다.

  • HTML

    • 밥먹기
    • 집에가기
      • 마크다운

        • 밥먹기
        • 집에가기

      HTML은 내용 이외에 복잡한 내용들이 포함되어 있다. 그나마 저건 매우 양호한 형태인데, 다른 태그나 CSS, Javascript등이 더 들어간다면 그냥 아비규환이 된다. (내용을 참조할 때 소스는 거의 불가능이며 브라우저에서 긁어 복사하는 것이 나음)

      반면 마크다운은 좀 더 글의 내용에 집중되어 있다고 생각할 수 있다. 마크업을 위한 태그가 매우 제한적이다. 물론 마크다운도 문법은 있다. 여기서 최소한의 표현은 제목, 본문, 리스트(불릿/숫자), 링크, 표 정도이다.

      왜 마크다운으로 글을 쓰려 하는가

      마크다운에도 단점은 많이 있다. 문법의 제한이야, 오히려 제한적으로 글을 쓰면 글의 내용에 집중이 될 수 있다. 다만, 이미지의 경우 쥐약이다. 텍스트 형식이므로 이미지가 문서에 "삽입"되지 않는다. 결국 이미지 링크 삽입등의 별도 방식으로 관리해야 한다. 그럼에도 마크다운 글쓰기를 하고자 하는 이유는 호환성 때문이다. 텍스트 파일 형식 기반으로 한 이점들이 매우 많다.

      • 모든 텍스트 에디터가 글쓰기 도구가 된다.

        MS워드에 글을 쓴다면 항상 MS워드가 준비되어 있어야 한다. 지금은 다양한 환경에서 글을 쓴다. 윈도우, 맥, 안드로이드, iOS. 다양한 환경에서 비슷한 인터페이스로 글을 쓰려면 동일한 환경이 주어져야 한다. 프로그램의 경우 특정 플랫폼에만 있는 프로그램들이 있다. 그래서 구글닥스같은 웹 앱을 사용하여 동일한 환경을 구성할 수 있지만, 이 경우도 텍스트 파일보다 무겁다. 또한 특정 앱(예를들면 구글닥스)에 종속적이게 된다.

        마크다운은 텍스트 기반이므로 텍스트에디터만 있으면 어디서나 글쓰기가 가능하다. 윈도우의 경우 메모장이면 되고, 서버 환경에서 기본 제공되는 Vim으로도 글쓰기가 가능하다. 모든 텍스트 기반 에디터가 글쓰기 프로그램이 되는 것이다. 플랫폼 별로 제공되는 좋은 마크다운 툴이 있어도 저장은 텍스트로 되기 때문에 다른 마크다운 프로그램과도 거의 호환이 된다. 특정 프로그램에 종속적일 필요가 없다.

      • 텍스트 기반이므로 가볍다.

        텍스트 파일의 장점을 십분 발휘할 수 있다. 백업의 경우 구글드라이브나 드랍박스를 사용하면 공간도 거의 차지하지 않을 뿐 아니라, 싱크 속도도 거의 실시간이다. 텍스트 기반의 다양한 툴들을 이용할 수 있다. 예를들어 diff로 문서간 비교도 가능하고, git으로 글 수정사항을 관리하거나 협업을 할 수도 있다.

      • 다양한 곳에서 활용 가능

        HTML이나 MS워드 파일을 마크다운 형식으로 바꾸는 것은 손이 많이 가는 일이다. 파워포인트나 웹페이지에서 글을 긁어오는 것도 마찬가지. 그러나 반대의 경우는 쉽다. 마크다운 형식의 글은 손쉽게 워드, 파워포인트, 블로그 등으로 작성이 가능하다. 많은 곳에서 마크다운 문법을 지원한다. 블로그사이트, 위키, Github, Jupyter Notebook등.

        마크다운 문법을 지원하지 않는 곳도 상관 없다. 예를들어 티스토리도 마크다운 문법은 지원하지 않는다. 하지만 마크다운 viewer에서 복사-붙여넣기를 하면 Rich Text Format로 복사가 된다. 일단 문서를 마크다운 형식으로만 저장하면 활용 영역은 많아지는 것이다.

      마크다운으로 글 써보기

      뭔가 본격적으로 할 것은 없다. 글을 쓸 때 마크다운 호환이 가능하도록 쓰면 되는 것. 예를들어 SQL 개발을 하다보면 주석이 필요한 경우가 있는데, 이때 마크다운 형식으로 써 놓으면 추후 참조하기가 쉽다. 글 쓰는 에디터를 통일하는 정도도 또 좋은 활용방안이 될 것이다.

      참조