読者です 読者をやめる 読者になる 読者になる

ろきくんわーるど

フォロワーさん!ブログですよ!ブログ!

マークダウンで文章を書いてHTML / Docx / PDF に変換する

githubぐらいでしか使ったことがなかったマークダウンですが、Macで書類を書こうと思ったらOfficeがなかったので試しに使ってみました。

文法についてはオリジナルではないですが、この辺りを参考にしました。

qiita.com


githubのREADME.mdみたいなファイルが完成したら次に変換をします。
マークダウンの変換で有名なのはPandocですが、今回はPDFだけ別のを使用しました。
環境はMacなのでHomebrewでインストールをしましたが、他のプラットフォームでも可能だと思います。




HTML に変換

Pandoc をインストールします。

brew install pandoc

HTMLに変換する前に適用するCSSファイルを用意します。
今回は公開されている github風のスタイルシートを利用しました。
Github Markdown CSS - for Markdown Editor Preview · GitHub


取ってきたファイルをここでは github.css と表記します。
変換するファイルと同一ディレクトリに置いておきます。


PandocでマークダウンをHTMLに変換します。

pandoc -s README.md -t html5 -c github.css -o README.html


これでHTMLファイルが出力されたと思います。

CSSを使わない場合は '-c github.css' のオプションは必要ありません。
'-t html5' のオプションが無いとHTML4やらXHTMLか何かの宣言になります。
'-s' のオプションを外すとテンプレートとして出力されず、マークダウンで記述したものがそのままHTMLタグに変換されるので、部分的に利用したい場合などで使えます。
'-o' はoutputの o です。



Docx に変換

同様にPandocを使います。
そのまま変換するには以下の通りです。

pandoc README.md -o README.docx


スタイルを適用させたいときはスタイルを設定した.docxファイルを用意します。

用意したファイルを '--reference-docx=' のあとに指定します。

pandoc README.md --reference-docx=style.docx -o README.docx


これでスタイルが適用された.docxファイルが出力されます。
ですが、MacWindowsやいろんなバージョンなど互換性を考えるとあまり使い勝手がよくなさそう(?


PDF に変換

PandocでもPDFに変換できるのですが、別途TeX系を用意する必要があるようで、さらに日本語周りやら地味に面倒くさそうだったので別の手段を探しました。
今回はnode.jsで動作するmarkdown-pdfを使用します。

インストールはnpmからします。

npm install -g markdown-pdf


どうやらCSSも利用できるらしいので、さっきのスタイルシートを持ってきます。

markdown-pdf README.md -o README.pdf -s github.css


これで出(ry



以上です。

htmlとpdfは結構使えそうですが、docxに関してはちょっとそのまま使うには〜って感じでした。



参考にしたやつ

Qiita - Markdown記法 チートシート - Qiita
Pandoc: markdown を github 風 html に変換する | deadwood
マークダウンからpdfを作るならpandocよりmarkdown-pdfっすね
Pandoc ユーザーズガイド 日本語版 - Japanese Pandoc User's Association