Markdown과 Textile

Markdown은 textile과 유사한 형태의 마크업 언어이다.다른 마크업 언어와 다른 점은 무엇보다 이 포맷이 가독성에 중점을 두고 만들어졌다는 점이다. 홈페이지에서 말하는 것처럼 이메일 같은 plain text와 최대한 유사하게 만들어져 있고, textile에 비해 좀더 유연한 표현이 가능하도록 되어 있다. 사실 간단한 점으로 따지면 textile이 낫고, 유연하다는 면에서는 markdown이 나은 것 같다.

특히 textile에서 발생하는 한글 환경에서의 문제가 markdown에서는 일어나지 않는다는 점이 매우 마음에 들었다. 특히 링크를 걸 때 url을 확실히 닫아줄 수 있다는 점은 한글 사용에 있어서 가장 좋은 장점 중의 하나이다. (업데이트) 이제는 Textile에서도 한글과 관련된 문제는 일어나지 않는다. 이와 관련된 내용은 여기에서 찾을 수 있다.

웹 프로그램에서의 지원

블로그, 위키, CMS

워드프레스는 말할 것도 없고 이전에 사용하던 블로그 시스템인 simplelog에서도 기본적으로 지원한다. 이 밖에도 이 위키피디아 기사에서 볼 수 있는 것처럼 많은 수의 위키, 블로그, CMS(Content Management System)들이 여러 형태로 markdown을 지원한다.

Texpattern의 경우에는 간단한 방법으로 markdown을 지원할 수 있다. php-markdown 사이트에서 설명한 대로 markdown.php 파일을 다운받은 후, 이 파일 이름을 classTextile.php로 변경한 후에 ./textpattern/lib/ 디렉토리에 넣는다. 그리고 여기에서 smartypants.php 파일을 받은 후 같은 디렉토리에 넣어준다. 이렇게 하면 기존에 textile로 쓰여 있는 글은 이른바 Textile Compatibility Mode로 작동을 하게 된다.

웹 표준을 준수하는 국내 게시판 프로그램인 Metabbs같은 경우에도 내가 이전에 간단하게 만들었던 textile plugin이 필요없이 그냥 markdown plugin만 쓰면 되는거였다.

PHP

PHP-Markdown을 사용하여 거의 모든 프로그램에서 쉽게 markdown을 쓸 수 있다.

include_once "markdown.php";
$my_html = Markdown($my_text);

이것보다 간단하긴 어렵다.

Ruby

Ruby에서는 BlueCloth라는 이름의 gem을 설치하면 mardown을 사용할 수 있다. 따라서, 모든 ruby 기반 프로그램에서는 textile과 함께 markdown을 지원한다. (textile 지원은 RedCloth라는 gem을 설치해야 한다)

require "rubygems"
require "BlueCloth"

str = "This is **bold**, _italic_, and so on..."
bc = BlueCloth.new(str)
html = bc.to_html

에디터에서의 지원

EditPlus

내가 가장 자주 사용하는 프로그램 중의 하나가 editplus이다. (기능적으로 우수하다는 점도 있지만, 덜컥 돈을 내고 정품을 사 버렸기 때문에 열심히 쓰고 있는 측면도 분명 있다.)

Editplus 위키에 markdown을 쓰는 방법이 나와 있다. 간단하게 말하자면, 그냥 펄로 쓰여진 markdown 해석기 프로그램을 받은 후에 이걸 텍스트 필터로 사용하는 것이다. 텍스트 필터로 쓰면 지금 쓰고 있는 글을 통째로 xhtml 코드로 바꿔주고, 변환 결과를 아웃풋 창에 출력하게 해 주면 markdown 글은 그냥 두고 변환된 코드만 아웃풋 창에서 확인할 수 있다.

Gedit

Gnome의 기본 에디터인 gedit에서도 markdown을 지원한다. 여기에서는 syntax highlight와 snippet을 지원하고 여기에서는 gtkhtml widget을 이용해서 markdown 코드를 html로 실시간 미리보기를 지원한다. 따라서, gedit로 텍스트 편집을 하면서 markdown을 쓴 경우에는 항상 Ctrl + Shift + M 을 누름으로서 미리보기를 할 수 있다. 이거 생각보다 굉장히 편한 기능이다. 이로서, 리눅스에서의 markdown 사용도 아무 문제가 없이 쓸 수 있음을 알 수 있다.

TextMate

TextMate의 Markdown 지원은 ‘더 이상 좋을 수는 없다’ 정도 되겠다. 그냥 markdown 번들을 설치하기만 하면 된다. 물론 블로깅에 TextMate를 사용하는 것은 ‘TextMate에서의 한글 사용 문제’가 완벽하지 않기 때문에 그렇게 즐거운 일만은 아니다. (이 문제는 오래 전부터 제기되어 왔는데 아직 해결이 되고 있지 않으며, 언제 나올지 모르는 2.0 버전에서 해결될 수 있을지도 미지수이다) 그렇지만 이 문제가 해결이 된다면, 가장 좋은 블로깅 툴은 아마 TextMate가 되지 않을까…

TextWrangler

TextWranglerBBEdit의 무료 버전 정도 되는 텍스트 에디터이다. Cocoa 프로그램이 아닌 단점이 있기는 하지만, ftp를 기본 지원하는 등 여러 장점이 있고 무료이기 때문에 꽤 매력적인 프로그램이다. 이 프로그램에서도 간단하게 markdown을 적용할 수 있는데, 한글의 문제가 없다(UTF-8 기본 지원에 한글 인코딩도 충실히 지원하고 다국어 입력에 문제가 없다)는 면에서 TextMate보다 나은 점이 있다고 할 수 있다.

블로그와 Markdown (2009. 4. 8 추가)

블로그에 markdown 소스를 그냥 올리는 것이 좋은지 아니면 html로 바꿔서 올리는 것이 좋은지에 대해 생각을 많이 해 보았다.

만약 글을 자주 수정해야 하는 경우라면 markdown 소스를 그대로 올리는 것이 좋을 것이다. 위에서 살펴본 것처럼 markdown 포맷은 여러 종류의 소프트웨어에서 잘 지원되고 있기 때문에 그 소스를 그대로 가지고 있는 것이 불편하지 않기 때문이다.

그러나, 글을 자주 수정해야 할 필요가 없는 경우, 혹은 다양한 플랫폼에서 해당 내용을 사용해야 하는 경우, (블로그 소프트웨어의 변경 등으로 인해) 데이터의 이동이 잦은 경우 등이라면 markdown 소스를 그대로 가지고 있는 것보다는 html로 변환하여 가지고 있는 것이 더 나을 것이다. 그리고 html 확장자를 가지고 있는 파일은 어디서든 쉽게 읽을 수 있다는 장점도 있고, html 에디터는 markdown 에디터와는 비교도 할 수 없을 정도로 많이 있다는 점도 무시할 수 없다.

글쓴이가 글을 쓰기 편리하게 해 주는 면에서는 markdown이 매우 좋은 선택이지만, 이미 쓴 글을 보존하는데 있어서는 html이 아무래도 우위에 있는 것이 사실이다. 그래서 요즘 나는 글을 쓸 때는 markdown으로 일반 텍스트 에디터에서 쓰고, 다 쓴 후에는 html로 변환하여 변환된 html을 워드프레스나 텍스트큐브에 넣는다. 이렇게 하는 편이 여러 가지 면에서 가장 좋은 것 같다.

결론

앞에서 본 것과 같이, 많은 에디터, 블로그 시스템 등에서 마크업으로 markdown을 쓸 수 있다. php-markdown > textile 관계가 성립하는 것이 다행이다.

2009-04-08 수정