GNU GLOBALのhtags
コマンドはソースコードをHTML化してくれます。しかもメソッドの定義元/参照元もリンクで飛ぶことができてコードリーディングには超便利。
ただしデフォルトだとcharsetのメタタグが入ってないので、UTF-8のソースコードだとブラウザによっては文字化けして見えてしまいます。いちいちエンコードを指定するのは面倒なので、charsetを指定してしまいましょう。
--html-header
オプションは headタグに埋め込むHTML断片のテキストファイルを指定できます。
$ man htags
...
--html-header file
Insert a header record derived from file into the HTML header of each file.
...
では実際に使ってみます。
まずglobalでタグインデックス(GPATHなど)を作っているディレクトリに移動して、以下のように実行してみましょう(-sanFx
とかはお好みで変えてね)。
$ echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' > encode_meta.html
$ htags -sanFx -v --html-header=./encode_meta.html
# コード行数が多い場合は数分かかる
$ head HTML/index.html
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Frameset//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>authense</title>
<meta name='robots' content='noindex,nofollow' />
<meta name='generator' content='GLOBAL-6.3.2' />
<meta http-equiv='Content-Style-Type' content='text/css' />
<link rel='stylesheet' type='text/css' href='style.css' />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> # <- encode_meta.htmlに書いたやつ
</head>
ちゃんとメタタグが入ってますね。--html-header
で指定したファイルの内容が "</head>の直前に挿入される" そうです。
参考
gnuglobal - Gnu Global で作った HTML ファイルの日本語が文字化けする時の対処 - Qiita
sedで置換するたいへん漢らしい解決策
GNU GLOBAL ハンドブック
この本をパラパラ見しててこのオプションを見つけました(P.100)。作者が書いてるだけあって内容濃いからGNU GLOBALerにはおすすめです。
上記ページには割引販売情報があります。内容確認したいひとは渋谷のジュンク堂書店に2冊ほどあったから見に行くといいよ(2014年12月頃)。