'03.10.5 ('03.10.6更新)
Mac OS XでAnother HTML-lintを使う方法です。Classic Mac OSは「Another HTML-lint on MacOS 」で。(動作確認:OS X 10.2.8 / htmllint.cgi 1.12 / htmllint.pm 2.92)
いしの k16さんが作ったHTMLの文法チェッカーです。 市販のHTML作成ソフトにもチェック機能は付いてますが、それよりずっと正確で細かいチェックが出来ます。特にDTDごとに違うチェックができるのは特筆事項ですね。
k16さんのサイトにあるゲートウェイでもチェックできますが、頻繁に、あるいは大量にチェックする人は、やはりローカルでできると便利です。
CGIにしなくても、htmllintを動かしてチェックすることができます。フォルダごとまとめてチェックも出来ます。設置もずっと簡単。
「Another HTML-lint : Download」からUNIX版 (EUC/LF) のhtmllint.zipをダウンロードし解凍します。htmllint Folderというフォルダができます。
「jcode.pl official page」からjcode.plの最新版 (今は2.13) をダウンロードします。controlクリックして「リンクをディスクにダウンロード」でもいいし、ブラウザに表示して「別名で保存...」でもいいです。
mi等のテキストエディタで改行コードを確認し、もしLFでなければ変更します。
htmllint Folderに入れます。
jcode.plの代わりにJcode.pmを入れても動作します。「Jcode - Japanese Charset Handler」
ターミナル (Terminal) を起動し、「ウインドウの設定...」の「ディスプレイ」の「文字セットエンコーディング」を「日本語 (EUC)」にします。「設定をデフォルトとして使用」としておけば、次回からも同じEUCになります。(OS X10.1のTerminalは基本的に日本語が表示できません)
% perl <パス>htmllint <パス>hoge.html
なので、"perl "と入れてからhtmllint Folderの中のhtmllintをターミナルのウインドウにドロップし、半角スペースを1文字入れて、チェックしたいHTMLファイルかファイルの入ったフォルダをドロップ。returnキー押せばチェックが始まります。
htmllintに実行権限があれば"perl"の入力も省略できます。なぜか最初から755だったりしますが。
% chmod 755 <パス>htmllint
% <パス>htmllint <パス>hoge.html
ここまでくればドラッグ&ドロップに近い簡単さですね。
せっかくローカルで使うんですから使いやすいようにしてみましょう。htmllintファイルを開き、$add_optionsにオプションを追加するのが簡単。設定ファイルhtmllintrcを書き換えてチェック項目を変えることも出来ますが、パスの指定が少し面倒かも。
use-htmllint.htmlにオプションの解説があります。警告の名前はhtmllintrcにあります。
my $add_options;
たとえば↓
my $add_options = '-d abbr-header-label,mailto-link -lc -scorenowhines';
Webサーバを動かしてCGIのゲートウェイですね。
/etc/httpd/httpd.confを書き換えて、/Library/WebServer/Documents/でCGIが動くようにします。htmllint FolderにCGIファイルとHTMLファイルが同居していて分離が難しいからです。書き換え方がわからない人は「超簡単 Mac OS XのローカルでCGI」を参考にしてみてください。
Options Indexes FollowSymLinks MultiViews
#AddHandler cgi-script .cgi
↓
Options Indexes FollowSymLinks MultiViews ExecCGI AddHandler cgi-script .cgi .env
jcode.plを入れたhtmllint Folderを/Library/WebServer/Documents/に移動します。(上に同じくJcode.pmを使ってもいいです)
htmllint Folderの中のhtmllintenvをhtmllint.envと名前を変えます。
htmllint、htmllint.cgi、tagslist.cgiのパーミッションを755にします。それ以外のファイルは644。
システム環境設定の共有の「パーソナルWeb共有」にチェックしてWebサーバを起動します。モデム等で直接インターネットに繋がっていると、いきなり全世界に公開することになるので注意してください。暗号化してない無線LANに繋がってると、ご近所さんに公開となります。
http://localhost/htmllint%20Folder/でhtmllintのトップページが開きます。ゲートウェイページに移動してチェック開始。Mac版IEの場合は「localhost」で開かないのでhttp://127.0.0.1/htmllint%20Folder/と呼び出します。そういえば、フォルダ名が短い方が入力楽ですね。
htmllint.envはCGIから読めるがWebから読めないようにした方がいいので、httpd.confではCGI扱いにしています。