レビュー

Markdownテキストから静的なHTMLファイルを生成できる「Pandoc」

さまざまな形式の文書を相互変換できるコマンドラインツール

「Pandoc」v1.13.2

 「Pandoc」は、マークアップ言語を中心にさまざまな形式の文書を相互変換できるコマンドラインツール。Windows/Mac OS X/Linux/BSDに対応する寄付歓迎のフリーソフトで、作者のWebサイトからダウンロードできる。

 「Pandoc」で変換できる文書形式は、HTMLのほかMarkdown、reStructuredText(reST)といった軽量マークアップ言語、ODT/DOCX/EPUBといったワープロ・電子書籍向け形式など非常に多岐に渡るが、本稿ではMarkdownからHTMLへの変換に焦点を当ててご紹介する。ブログなどをMarkdownで執筆していると、静的なHTMLファイルを作成する際もMarkdownを使いたくなるが、こういった時に「Pandoc」を使うと便利だ。

 コマンドラインツールだが、Windows環境ではインストーラーを利用でき導入は簡単。多機能なツールであるため、コマンドラインオプションも多数用意されているが、Markdown文書をHTML文書に変換するだけであれば、出力ファイル名を指定する“-o”オプションとヘッダーなどを含むスタンドアロンの文書を出力する“-s”オプションを覚えれば十分だろう。

 入出力の形式は、指定を省略すると拡張子を元に自動判別してくれる。たとえば“index.md”というファイル名のMarkdown文書を“index.html”というファイル名のHTML文書に変換するには、以下のようにコマンドを記述すればよい。基本的にはオプションに続けて入力ファイル名を指定する形となる。

pandoc -s -o index.html index.md

 さらに、出力したHTMLファイルから任意のCSSファイルを読み込みたい場合は“-c”オプションで指定可能。たとえば出力ファイルと同一フォルダーに置いた“index.css”を読み込む場合は、以下のようにコマンドを記述する。

pandoc -s -o index.html -c index.css index.md

 さらに「Pandoc」独自の書式として、文書の冒頭が“% (任意の文字列)”で開始される場合はタイトルとして扱われ、変換先がHTML文書であればtitle要素および本文冒頭のh1要素に使われる。Webサイト等に掲載するためのHTML文書をMarkdown文書から生成する際は指定しておくとよい。

Markdown文書からHTML文書への変換例

 ここでは「Pandoc」のごく基本的な使い方を紹介したが、他にもPDF文書への変換やJavaScriptによるプレゼンテーションスライドの作成など、さまざまな用途に利用できる。有志の手による日本語版のユーザーズガイドも公開されているので、興味のある方は参考にしてほしい。

ソフトウェア情報

「Pandoc」
【著作権者】
John MacFarlane 氏
【対応OS】
Windows/Mac OS X/Linux/BSD(編集部にてWindows 8.1で動作確認)
【ソフト種別】
フリーソフト(寄付歓迎)
【バージョン】
1.13.2(14/12/20)

(中村 友次郎)