2016/10/18 21:19:11

MarkDown変換コマンドラインツール「Pandoc」を使う

目次(クリックするとジャンプします)
  • 1:Pandoc
  • 2:使用方法
  • 2.1:本家サイト
  • 2.2:インストール
  • 2.3:対応フォーマット
  • 2.4:変換方法
  • 2.5:markdownの方言対応
  • 3:まとめ

Pandoc

Markdown形式で記述したファイルをhtmlに変換してくれるツール。

コマンドラインツールなのでlinuxで作業する人にはうってつけかもしれません。

使用方法

導入方法などは本家ページを参照していただくのが良いと思いますが、簡単に導入と使い方の説明をします。

本家サイト

Pandoc
http://pandoc.org/index.html

インストール

debian/ubuntu系なら以下でインストールできます。

#apt install pandoc -y

対応フォーマット

Markdown→htmlだけでなく、さまざまなフォーマットへの変換を行ってくれるので、とても便利。

入力形式
markdown
reStructuredText
textile
HTML
DocBook
LaTeX
MediaWiki markup
TWiki markup
OPML
Emacs Org-Mode
Txt2Tags
Microsoft Word docx
EPUB
Haddock markup
出力形式
XHTML
HTML5
HTML slide shows using Slidy
reveal.js
Slideous
S5
DZSlides
Microsoft Word docx
OpenOffice/LibreOffice ODT
OpenDocument XML
EPUB version 2 or 3
FictionBook2
DocBook
GNU TexInfo
Groff man pages
Haddock markup
InDesign ICML
OPML
LaTeX
ConTeXt
LaTeX Beamer slides
PDF
Markdown (including CommonMark)
reStructuredText
AsciiDoc
MediaWiki markup
DokuWiki markup
Emacs Org-Mode
Textile

正直@MINOはいくつかのフォーマットは知らないし、ほとんどMarkdown→html(かその逆)しか使わないですが、これだけ変換対応があれば万人が使えるツールだと思います。

変換方法

操作はとても簡単。基本的には変換したいファイルと変換後のファイルフォーマットを指定すればよいです。例えばmarkdownからhtmlに変換したい場合は以下です。

# pandoc -f markdown -t html hoge.md

以下のようにも書けます

# pandoc --from markdown -to html hoge.md

これで変換された文章がコマンドラインに表示されることになります。標準出力なのでパイプ等で他のコマンドに引き渡しが可能です。

また標準出力ではなく、ファイルに保存したい場合は以下のように書けば良いです。

# pandoc -f markdown -to html -o hoge.html hoge.md

-oは–outputオプションの短縮形で、出力先ファイルを指定するものです。変換したhtmlはhoge.htmlに保存されることになります。

markdownの方言対応

markdownは本家の更新保守が止まっており、さまざまな団体などで方言的な拡張版が作られています。

そのため、単にmarkdownと言ってもひとつには定まっていない現状があります。

もしかしたら意図したとおりの変換が行えない場合もあるかもしれません。

pandocではmarkdownフォーマットを指定に以下のように細かく指定することが可能です。

指定フォーマット 意味
markdown pandoc拡張版
markdown_strict 本家markdown
markdown_phpextra PHP Markdown拡張版
markdown_github github拡張版

お使いのmarkdownフォーマット方言を指定することで、意図した変換が行えるようになるかと思います。

もちろんpandocの機能はこれだけでなく、さまざまなオプションが存在している。詳しくはmanページを参照することをおすすめします。

また、英語が苦手な人には、日本語翻訳マニュアルサイトを紹介しておきます。

Japanese Pandoc User’s Association

http://sky-y.github.io/site-pandoc-jp/

まとめ

最近ではメモなどの小さいものから、ブログ記事などの長めのものまで、ほとんどmarkdownで書くようになってしまいました。

プレーンテキストとちがって、文章を整理しながら書けるのはとても気持ちがいいデス。