Mac OS XでAnother HTML-lintを使おう (HTMLチェッカー)

'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)


Another HTML-lintって何?

いしの k16さんが作ったHTMLの文法チェッカーです。 市販のHTML作成ソフトにもチェック機能は付いてますが、それよりずっと正確で細かいチェックが出来ます。特にDTDごとに違うチェックができるのは特筆事項ですね。

k16さんのサイトにあるゲートウェイでもチェックできますが、頻繁に、あるいは大量にチェックする人は、やはりローカルでできると便利です。

簡単に使う

CGIにしなくても、htmllintを動かしてチェックすることができます。フォルダごとまとめてチェックも出来ます。設置もずっと簡単。

1.Another HTML-lintのダウンロードと展開

Another HTML-lint : Download」からUNIX版 (EUC/LF) のhtmllint.zipをダウンロードし解凍します。htmllint Folderというフォルダができます。

2.jcode.plを入れる

jcode.pl official page」からjcode.plの最新版 (今は2.13) をダウンロードします。controlクリックして「リンクをディスクにダウンロード」でもいいし、ブラウザに表示して「別名で保存...」でもいいです。

mi等のテキストエディタで改行コードを確認し、もしLFでなければ変更します。

htmllint Folderに入れます。

3.Jcode.pmならUTF-8なページもチェックできる

jcode.plの代わりにJcode.pmを入れても動作します。「Jcode - Japanese Charset Handler

4.ターミナルの設定

ターミナル (Terminal) を起動し、「ウインドウの設定...」の「ディスプレイ」の「文字セットエンコーディング」を「日本語 (EUC)」にします。「設定をデフォルトとして使用」としておけば、次回からも同じEUCになります。(OS X10.1のTerminalは基本的に日本語が表示できません)

5.使う

% perl <パス>htmllint <パス>hoge.html

なので、"perl "と入れてからhtmllint Folderの中のhtmllintをターミナルのウインドウにドロップし、半角スペースを1文字入れて、チェックしたいHTMLファイルかファイルの入ったフォルダをドロップ。returnキー押せばチェックが始まります。

htmllintに実行権限があれば"perl"の入力も省略できます。なぜか最初から755だったりしますが。

% chmod 755 <パス>htmllint
% <パス>htmllint <パス>hoge.html

ここまでくればドラッグ&ドロップに近い簡単さですね。

6.チェック項目と表示のカスタマイズ

せっかくローカルで使うんですから使いやすいようにしてみましょう。htmllintファイルを開き、$add_optionsにオプションを追加するのが簡単。設定ファイルhtmllintrcを書き換えてチェック項目を変えることも出来ますが、パスの指定が少し面倒かも。

use-htmllint.htmlにオプションの解説があります。警告の名前はhtmllintrcにあります。

my $add_options;

たとえば↓

my $add_options = '-d abbr-header-label,mailto-link -lc -scorenowhines';

CGIとして使う

Webサーバを動かしてCGIのゲートウェイですね。

1.httpd.confを書き換え

/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

2.htmllint Folderを設置

jcode.plを入れたhtmllint Folderを/Library/WebServer/Documents/に移動します。(上に同じくJcode.pmを使ってもいいです)

3.htmllintenvを改名

htmllint Folderの中のhtmllintenvをhtmllint.envと名前を変えます。

4.パーミッションを設定

htmllint、htmllint.cgi、tagslist.cgiのパーミッションを755にします。それ以外のファイルは644。

5.Webサーバを起動

システム環境設定の共有の「パーソナルWeb共有」にチェックしてWebサーバを起動します。モデム等で直接インターネットに繋がっていると、いきなり全世界に公開することになるので注意してください。暗号化してない無線LANに繋がってると、ご近所さんに公開となります。

6.CGIを使う

http://localhost/htmllint%20Folder/でhtmllintのトップページが開きます。ゲートウェイページに移動してチェック開始。Mac版IEの場合は「localhost」で開かないのでhttp://127.0.0.1/htmllint%20Folder/と呼び出します。そういえば、フォルダ名が短い方が入力楽ですね。

7.使用上の注意

htmllint.envはCGIから読めるがWebから読めないようにした方がいいので、httpd.confではCGI扱いにしています。