作業マシンが変わるたびに毎回同じものを作ってる気がするので、メモしておく。
我々はすべてのドキュメントをプレーンテキストで、つまりMarkdownで書きたいが、人は必ずしもそうではない。
折り合いをつけるためには、読めないからWordで書いてくれと言われてしまう前に、いい感じのアウトプットを出さねばならない。
ここでは html ファイルへのコンバートを考える。
md → html の変換は Pandoc を使えば簡単だが、毎回コマンド一発で使えるようにしておくにはちょっと準備が必要。
環境
- Windows 10 Home
- Pandoc をインストールしておく
CSSの用意
いい感じのスタイルで出力するには、いい感じのCSSが必要。
ここでは GitHub スタイルのCSSを利用することにする。
以前は ↓こちら
Github Markdown CSS - for Markdown Editor Preview · GitHub
のCSSを使わせてもらっていたのだけど、このCSSで画像を2つ(para.png, dirty-shade.png)参照していて、その画像が前は
https://github.com/gollum/gollum/find/master ここからもらってこれたと思ったが、今は見つからなくなっていた。
なので今回は↓こっちを使わせてもらうことにする。
CSSファイルだけ使うには githubのmarkdown-cssをぶっこ抜く方法 - Qiita を参考に、class名の変換が必要。
コマンドの作成
好きなコマンドをファイル名にして、batファイルを作る。たとえば md2html.bat
とか。
中には、変換したいmarkdownファイルを引数にとる形で pandoc コマンドを定義しておく。
使うオプションはだいたいこのへん。
-f
入力フォーマット-t
出力フォーマット-s
スタンドアローンなファイルとして出力--self-contained
大事。画像を出力ファイル内に埋め込む-c
CSSファイルを指定-o
出力ファイル名--toc
目次をつけるかどうか、お好みで
これでコマンドはこんな感じになる。
@echo off pandoc -f markdown -t html5 %1 -s --self-contained -c %~dp0\github-markdown.css -o out.html
このbatファイルは、pathを通したフォルダに置いておく。
同じフォルダに、 CSSファイルも置いておく。
(上のコマンド例だと「github-markdown.css」という名前にする)
使い方
前回 Windows 10 任意のコマンドをスタートメニューから一発で実行する というのを書いたが、今回のは引数でファイルパスを指定する必要があるので、コマンドプロンプトから使うことにする。
知られたウィンドウズ・ハックを使って、変換したいmarkdownファイルがあるフォルダからコマンドプロンプトを起動。
起動したプロンプトで md2html [ファイル名]
のように実行。
同じフォルダに out.html が出力されれば成功。