[git] git diffの内容をansi2htmlを使ってhtmlファイルにカラーで書き出したい

2015/07/15

こんにちは。きんくまです。
だいぶ暑くなってきましたね。

フロントエンドの仕事をしていると、サーバー側で使うテンプレートファイルを作るときがあります。サーバー側の言語が何も組み込まれていない状態のhtmlを作って、クライアントに納品。クライアントで、プログラムを組み込むみたいな。

それでテンプレートの更新をすることになったとします。作業完了後に、修正したテンプレートファイルと一緒に、どこを修正したかわかる差分の指示書をつけてあげると親切です。
以前は手動で「xx行目に追加」みたいな感じで、テキストファイルを作っていたのですが、ちょっと面倒だなと思ってました。

せっかくgit使っているんだから、diffを使って書き出してあげればよいと思いました。

diffを使う

ターミナル上でコマンドを打てばファイルにすぐにかきだせます。
例えばこんな感じに。

git diff 9c2d7ed HEAD > diff.txt

だけどこれで書き出されるファイルは、文字情報だけなのでカラーじゃなく見づらい気がします。ターミナルでは–color をつけてあげることでカラーで見えるのに残念です。

ターミナルのキャプチャ

git_diff

ansi2htmlを使う

ググってみたところ、ansi2htmlというスクリプトを見つけました。

>> ralphbean/ansi2html

使い方は簡単で、スクリプトをダウンロードしてきてコマンドを打てばOKです。

git diff --color 9c2d7ed HEAD | ../ansi2html.sh > ../diff_color.html

今回はソースを置いている一個上のフォルダに ansi2html.sh を置いて diff_color.html という名前で書き出しています。

出来上がったファイル diff_color.html

すぐに書き出すことができました。便利です!

LINEで送る
Pocket

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る