Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

OS X용 Markdown 미리 보기 앱 Marked 2에서 Asciidoc 문서 보기

나는 Markdown을 무척 좋아하는 편이고 내가 작성하는 문서 대부분을 Markdown으로 작성하고 있다. 개발자로서 원소스 멀티유즈의 개념이나 Words 같은 위지윅보다는 Diff를 할 수 있는 텍스트 형식을 선호하기도 하고 직관적인 문법으로 텍스트 에디터에서 작성하면서도 헤딩이나 리스트, 링크 등의 형식을 쉽게 작성할 수 있어서 개인 개발 노트도 Markdown으로 작성하기 위해서 Day One으로 갈아탔고 이 블로그도 Markdown으로 작성하고 있고 이전에 쓴 책도 다 Markdown으로 작성했다.

Markdown이 정말 좋기는 하지만 너무 기능이 간단해서(그게 장점이기도 하지만) 2004년에 John Gruber가 처음 만든 이후에 거의 개선이 없었기 때문에 좀 다양하게 사용을 하려면 한계를 많이 만나게 된다. 예를 들어 표 작성이나 코드 블록 등의 한계가 있는데 이 때문에 Markdown을 확장한 MultiMarkdown이나 GitHub Flavored Markdown 등이 있는데 도구에 따라 지원 여부가 달라서 환경을 잘 통일하지 않으면 피곤한 일이기도 하다. 이런 문제를 해결하기 위해서 CommonMark가 등장했지만 처음 의도와 달리 Markdown을 아직 완전히 대체하지는 못해서 또 하나의 표준이 생긴 기분이다.

현재는 GitHub 덕분에 GitHub Flavored Markdown(소위 GFM)이 사실상 표준이 되어 나도 대부분은 GFM을 이용해서 작성하고 사용하고 있다.

AsciiDoc

일반적인 블로그 글이나 간단한 문서를 작성할 때는 Markdwon이나 GFM으로 충분하지만, 그 이상으로 다양한 문서를 작성하거나 PDF나 이북 등으로 만들고자 하려면 Markdown으로는 한계가 있어서 최근에 AsciiDoc으로 갈아타기로 해서 연습 중이다. 개인 문서 등은 계속 Markdown을 쓸 것 같지만 GitHub Readme 등 AsciiDoc으로 쓸 수 있는 환경에서는 AsciiDoc으로 작성하려고 갈아타는 중이다.

AsciiDoc은 2002년 Stuart Rackham이 만든 마크업 언어로 오래되긴 했지만 2013년 루비 구현체인 Asciidoctor가 나오면서 알려지기 시작한 것 같다.(최소한 나는 Asciidoctor가 나온 뒤에 듣기 시작했다.) Markdown보다 풍부한 문법을 가지고 있고 Asciidoctor 덕에 PDF, ePub, Mobi 등의 형식으로 변환하기도 쉬워졌다. 최근에 번역된 스캇 샤콘의 Pro Git 2Asciidoc으로 작성되었다.

$ gem install asciidoctor

Asciidoctor를 설치하면 Asciidoc 문서를 사용할 수 있는데 위처럼 Gem으로 설치할 수 있고 다른 환경은 설치 문서를 참고하면 된다.

Markded 2

Markdown은 오랫동안 써서 이제는 거의 미리 보기를 사용하지 않고 작성할 수 있지만 Asciidoc으로 문서를 작성하려니 아직 문법이 익숙하지 않아서 제대로 작성한 것인지 확인하기 위해서는 미리 보기가 필요했다. 웹 브라우저나 Atom 등에서 미리 보기가 가능한 도구가 이미 있었지만 그다지 맘에 들지 않았고 나는 문서를 대부분 Sublime Text에서 작성하지만, Sublime Text의 패키지도 별로 맘에 들지 않았다. Sublime Text를 주로 쓰기는 하지만 항상 여기서만 작성하는 것은 아니고 어떤 때는 WebStrom 같은 IDE에서도 작업하고 어떤 때는 vi에서 작업하기도 하므로 기존 Markdown을 쓸 때도 글 쓰는 환경에 플러그인 같은 도구로 미리 보기를 하기보다는 Marked 2라는 전용 미리 보기 앱을 사용했다.

Marked 2는 OS X 전용 유료 앱으로 작성기능은 없고 실시간 미리 보기 기능만을 제공하는 데 기능이 강력하고 내가 글 쓰는 환경에 상관없이 사용할 수 있으므로 1버전 때부터 애용하고 있다. Marked 2는 Markdown 전용 앱이지만 고급 설정에서 Custom Processor를 사용할 수 있는 기능을 제공하고 있다.

Marked 2의 설정 화면

검색을 하다 보니 이미 Marked 2에서 Asciidoc을 사용할 수 있도록 Custom Processor를 설정한 글을 찾을 수 있었다. 여러 글을 참고했지만, 이 글이 제일 정확하게 나와 있다.

  • Path: /Users/outsider/.rvm/gems/ruby-2.2.5/wrappers/asciidoctor
  • Args: --backend html5 -o - -

Enable Custom Processor를 체크하고 Path와 Args를 위와 같이 설정했다. asciidoctor의 경로는 자신의 맥에 설치된 경로를 사용하면 되는데 나 같은 경우 RVM을 쓰고 있어서 그 경로를 사용했다. 터미널에서 경로를 확인해 보면 /Users/outsider/.rvm/gems/ruby-2.2.5/bin/asciidoctor로 나오지만 이렇게 설정하자 env: ruby_executable_hooks: No such file or directory라는 오류가 발생해서 binwrappers로 변경했다.(이는 RVM 환경에 특성 때문인 것 같다.)

Marked 2에서 Asciidoc 문서를 본 화면

이제 Marked 2에서 Asciidoc 파일을 불러온 뒤에 오른쪽 아래의 Custom Processor 버튼을 누르면(오른쪽 아래의 작은 동그라미 버튼) Asciidoc이 잘 파싱되어 나오는 걸 볼 수 있다.

2016/06/11 22:27 2016/06/11 22:27