LoginSignup
3
4

More than 5 years have passed since last update.

GNU GLOBALのhtagsで日本語コメントが文字化けする場合に使えるオプション(--html-header)

Last updated at Posted at 2015-01-09

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月頃)。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4