[컴] pandoc 사용하기

 sublime plugin pandoc converter

pandoc 사용

특정 문서 format 을 다른 문서 format 으로 변활할 때 사용한다.

여기서는 html 을 markdown 으로 변경하기 위한 용도로 사용하려 한다.

설치

홈페이지에서 download 를 해도 되고, chocolatey 를 사용해서 설치해도 된다.

choco install pandoc

version 확인

pandoc --version

사용

기본적으로 stdin 에서 input 을 받는다. 그래서 < 를 이용해서 input 을 넣어주고, output 을 > 을 이용해서 file 에 넣었다.

# markdown file 을 html 형식으로 변환
pandoc -f markdown -t html < test.md > a.html

file 을 직접 읽어서 html 로 변환하는 방법은 아래와 같다.

pandoc test.md -f markdown -t html -o test.html

만약 html 의 전체 구조를 만들고 싶으면 -s option(standalone) 를 사용하면 된다.

pandoc test.md -f markdown -t html -o test.html -s

markdown

다양한 markdown 변형을 이용할 수 있다.

  • markdown_phpextra (PHP Markdown Extra)
  • markdown_github (deprecated GitHub-Flavored Markdown)
  • markdown_mmd (MultiMarkdown)
  • markdown_strict (Markdown.pl)
  • commonmark (CommonMark)
  • gfm (Github-Flavored Markdown)
  • commonmark_x (CommonMark with many pandoc extensions)

Sublime Text Plugin

plugin 을 사용하면 sublime 에서 작성중인 특정 format 의 글을 다른 format 으로 손쉽게 바꿀 수 있다.

latex 수식넣기

이 때 달러 사인 사이에($...$) latex 를 넣으면 pandoc 이 수식을 html 로 그려준다. 다만 모든 기호가 다 되는 것은 아닌듯 하다. 그래서 option 에 --mathjax 를 넣고 html 로 rendering 하고, 그 것을 mathjax 를 이용해서 변환해서 보여주는 방법이 나은 듯 싶다.

// sublimeText pandoc setting

{

  "user": {

    ...
    "pandoc-path": "d:/a/apps/Pandoc/pandoc.exe",

    // transformations
    "transformations": {

      ...
      "HTML 5": {
        "new-buffer": 1,
        "scope": {
          "text.html.markdown": "markdown"
        },
        "syntax_file": "Packages/HTML/HTML.tmLanguage",
        "pandoc-arguments": [
          "--to=html5",
          "--no-highlight",
          "--mathjax"
        ]
      },

      ...
  }
}

sublime package setting

  • 2020-11-20 기준으로 pandoc 의 option 이 변경됐다. 그래서 package 를 쓰면 warning 이 뜨면서 실행이 안된다. 이 때 package setting 을 변경하면 된다.
  • c:\Users\<user_name>\AppData\Roaming\Sublime Text 3\Packages\Pandoc\Pandoc.sublime-settings 에서 option 을 변경해 주면 된다.
  • 또는 Preference --> Package Settings 에 가면 Pandoc 이 있다. 그것을 열어서 변경해도 된다.
// Pandoc.sublime-settings
{

  // There are 2 possible top level settings keys, "user" and "default". If you
  // use "default" in your user settings file, the default settings will be
  // overwritten, but if you use "user" your settings will be merged into the
  // default settings.
  "user": {

    // path to the pandoc binary. Default locations per platform:
    // -  mac
    //    "pandoc-path": "/usr/local/bin/pandoc",
    // -  windows
    //    "pandoc-path": "C:/Users/[username]/AppData/Local/Pandoc/pandoc.exe",
    "pandoc-path": "c:/Users/username/AppData/Local/Pandoc/pandoc.exe",

    // transformations
    "transformations": {

      // label of transformation, to appear in sublime quick panel. This should
      // be a name related to the format of the output.
      "Markdown (Pandoc)": {
        // additional arguments passed to pandoc
        // -  --from is automatically set, see "scope" above
        // -  --to=FORMAT or one of its aliases is required
        // @see http://johnmacfarlane.net/pandoc/README.html#options
        "pandoc-arguments": [
          "--to=markdown",
          "--wrap=none",
          "--markdown-headings=atx"
        ]
      }
    }
  }
}

댓글 없음:

댓글 쓰기