MarkdownをPandocとブラウザを使ってPDFに変換する
GithubのREADMEなどで使われるMarkdownの形式で文章を書いたり、メモを取ることが最近多くなってきた。
ただ、Markdownの形式で書いていると、人に渡すときに結構困る。
というのもファイルを渡す人がMarkdownに慣れているとは限らないし、そもそもMarkdownエディタ自体をインストールしていなくてファイルを見られない可能性がある。
そこで今回はMarkdownのファイルをPDFに変換してみた。
変換方法を調べるとMarkdown→Tex→PDFというやり方が多く出てくるが、Texの環境を入れるのがなかなか大変(時間がかかる)ので、ただMarkdownを変換したいだけの今回はパスする(綺麗に変換をしたいならこのやり方の方がよい)。
今回の変換方法としては、MarkdownをHTMLファイルに変換し、それをブラウザで開いてPDFで保存する。
今回はMarkdownをHTMLに変換するツールとしてPandocを使う。
PandocのインストールはMacのhomebrewを使って行った。
参考: Haskell製のMarkdownをHTMLやLaTeXに変換できるPandocのインストールとサンプル - 三等兵
※結構時間がかかるので注意
$ brew install haskell-platform $ cabal update $ cabal install cabal-install // cabalのアップデート $ cabal install pandoc
私はbashを使っているので~/.bash_profileに以下を追加する。
export PATH=$PATH:${HOME}/.cabal/bin
パスが通っているかを確認
$ source ~/.bash_profile // bash_profileを再読み込み $ echo $PATH // パスを確認 $ pandoc -v
現在(2014/11/5)時点でバージョン1.13.1がインストールされた。
$ pandoc -v pandoc 1.13.1 Compiled with texmath 0.8, highlighting-kate 0.5.9. Syntax highlighting is supported for the following languages: abc, actionscript, ada, apache, asn1, asp, awk, bash, bibtex, boo, c, changelog, clojure, cmake, coffee, coldfusion, commonlisp, cpp, cs, css, curry, d, diff, djangotemplate, dot, doxygen, doxygenlua, dtd, eiffel, email, erlang, fasm, fortran, fsharp, gcc, glsl, gnuassembler, go, haskell, haxe, html, ini, isocpp, java, javadoc, javascript, json, jsp, julia, latex, lex, lilypond, literatecurry, literatehaskell, lua, m4, makefile, mandoc, markdown, mathematica, matlab, maxima, mediawiki, metafont, mips, modelines, modula2, modula3, monobasic, nasm, noweb, objectivec, objectivecpp, ocaml, octave, opencl, pascal, perl, php, pike, postscript, prolog, pure, python, r, relaxng, relaxngcompact, rest, rhtml, roff, ruby, rust, scala, scheme, sci, sed, sgml, sql, sqlmysql, sqlpostgresql, tcl, tcsh, texinfo, verilog, vhdl, xml, xorg, xslt, xul, yacc, yaml, zsh Default user data directory: /Users/kyamaguchi/.pandoc Copyright (C) 2006-2014 John MacFarlane Web: http://johnmacfarlane.net/pandoc This is free software; see the source for copying conditions. There is no warranty, not even for merchantability or fitness for a particular purpose.
そしてMarkdownをHTMLファイルに変換する。
$ pandoc -s hoge.md -o hoge.html
最後に変換されたHTMLをブラウザで開いて印刷メニューからPDFで保存する