저번 포스트에서 마크다운은 어떤 종류가 있고, 어떻게 비교하고 선택할 수 있는지 확인해봤습니다.
그렇다면 Hexo 에서는 어떤 마크다운을 사용하고 있을까요? Hexo 의 패키지를 살펴보겠습니다.
1 | { |
Hexo에 기본적으로 설치되는 마크다운 플러그인 hexo-renderer-markdown 을 살펴보면 marked.js 라는 파서를 사용하고 있다는 것을 알 수 있습니다. 이 파서는 CommonMark(v0.28) 과 GFM (v0.28) 을 지원하고 있죠. 즉, Hexo 에서는 CommonMark 와 GFM 에서 지원하는 기능들을 사용할 수 있다는 뜻입니다.
_config.yml
에서 할 수 있는 마크다운 설정은 다음과 같습니다.
1 | marked: |
사실 Hexo 기본 렌더러만으로도 충분합니다만, 요즘들어 부족함을 느끼고 있는 것이 바로 ‘각주’(footnotes)입니다. 각주는 보통 이야기를 짤막하게 보충하거나 출처를 밝힐 때 사용하는데 블로그를 하면서 특히 더 중요하다고 생각합니다. 왜냐하면 명확한 출처를 밝혀야 근거도 명확해지고, 참고한 내용이 있다면 명시하는 것이 원저작자에 대한 예의겠죠.
하지만 GFM을 지원하는 Hexo 기본 렌더러에서는 각주를 지원하지 않습니다. 지난 포스트에서도 확인했었죠. 이 대신 사용할 markdown-it은 CommonMark 와 GFM 스펙을 따라 javascript로 만든 파서로, 모듈 설치에 따라 기능 확장이 가능합니다. 기본적으로 각주를 지원하지 않지만 모듈을 설치해서 각주 기능도 사용 가능하죠. Hexo 에는 이를 이용한 플러그인이 두 가지가 있습니다.
저는 첫 번째 플러그인을 사용해보겠습니다. 두번째 플러그인이 사용할 수 있는 플러그인이 더 많고, 추가 확장이 가능하지만 더 심플한 첫 번째 플러그인이 마음에 드네요.
Main Features
사용할 수 있는 기능들은 다음과 같습니다.
- Markdown / CommonMark / GFM 지원
- 기본 렌더러 (hexo-renderer-marked) 보다 빠름
- abbr (두문자어, 약어에 사용할 수 있는
<abbr>
태그) - footnote (각주)
- ins (밑줄)
- sub (아래첨자)
- sup (위첨자)
플러그인 설치
기존 렌더러보다 빠르다는데 얼마나 빠를지 궁금하네요. 기존 렌더러를 삭제하고, 새로운 렌더러를 설치합니다.
1 | $ npm un hexo-renderer-marked --save |
플러그인 설정
설치했다면 별 다른 설정 없이 사용 가능합니다. 기본 스펙은 GFM 이고 _config.yml
에서 변경이 가능합니다.
Default (GFM)
기본값은 GFM 입니다.
1 | markdown: 'default' |
CommonMark
1 | markdown: 'commonmark' |
Zero
zero
로 설정하면 오리지널 마크다운을 지원하는데 굳이 쓸 필요는 없을 것 같습니다.
1 | markdown: 'zero' |
플러그인 설정 (고급)
추가 기능을 살펴보겠습니다. 플러그인 부분에서 보실 수 있듯이, 총 다섯개의 플러그인이 사용 가능합니다. 필요없는 기능은 빼도 되겠죠. 각 항목에 대한 자세한 내용은 해당 링크를 참고하시길 바랍니다.
1 | markdown: |
설치도 했으니 각주 한번 사용해보겠습니다.[1] 잘 되네요. 이번 포스팅에서는 Hexo 에서 사용하는 기본 마크다운 렌더러를 변경해봤습니다.