HTMLを整形する

複雑な HTML テンプレートファイルを Dreamweaver 等を使わずにエディタでゴリゴリ修正していると、しだいにタグの関連付けが混乱してきてひどい有様になることがあります(笑)。こんなときは HTML::Tidy というプログラムが便利です。以下のサイトからソースコードをダウンロードできます。

http://sourceforge.net/project/showfiles.php?group_id=27659

コンパイルは普通に make && make install で大丈夫です。HTML::Tidy にはさまざまなオプションがありますが、日本語を含む1つのHTMLファイルを整形したいときは以下のようにします。

/usr/local/bin/tidy -raw hogehoge.html > fugafuga.html

元のファイルを上書きしてもかまわないなら以下のようにします。

/usr/local/bin/tidy -raw -m hogehoge.html

あるフォルダ以下のHTMLファイルを全部整形するならこんな感じでできるでしょう。

find . -name "*html" | xargs /usr/local/bin/tidy -raw -i -wrap 0 -m

"-i" オプションは「インデントを行う」、"-wrap 0" オプションは「折り返しを行わない」という意味です。