2002/04/30:最近のHTML-lintでは話が変わっていたので、書き直しました。
ホームページを作るときに、私の場合は、エディタでHTMLを直接書いているのですが、文法とかけっこういいかげんだったりします。
そんなある日、Another HTML-lint というサイトを見つけたのでした。
そこは、HTML-lintという文法チェックをしてくれるところだったのですが、そこで自分のホームページをチェックすると、見事にエラーたくさんで70点くらいしか取れなかったので、一生懸命エラーを直していたのでした。
で、「HTMLを書き直す」→「 Another HTML-lint で確認」→「減点がある」→「直す」→「振り出しに戻る」を繰り返していたのですが、ダイヤルアップ環境の私としてはちとつらかったので、自分のマシンで同等なことができないかと思っていると、http://ring.aist.go.jp/openlab/k16/htmllint/index.html を見ると、ローカルな環境(自分のマシンのみ)でHTML文法チェックが出来そうなので、ためしてみたら、本当に出来たので、ここにサマリを残します。
昔は、DOS環境でHTMLLintを動かしていましたが、現在では自分のマシンでWebserverを立ち上げて、そこでHTMLLintを動かしたほうが楽なので、そういう環境を作ってみました。
で、私が選んだWebServerソフトは、AN HTTP SERVERです。Apacheでも良かったのですが、窓の杜で入手できたのと、会社でnamazuを動かしているんですが、日本語を含むファイル名を扱うとき、apacheでうまく動かなかったけどAN HTTP Serverでは(たまたま)うまく動いたので、こちらがお気に入りというわけです。まぁ、HTTP Serverは、なんでもいいです(無責任)。
Another HTML-lint:Downloadのページのリンクを参照して、ActivePerl(for Win32)をinstallします。
念のため、Re: for ActivePerl 5.6.1 Build 630を参考にして、必要なら、そこに書いている内容にしたがいます。(win95、98では、うまく動かないらしいので、修正プログラムがある。htmllintで関係あるかどうか不明だけど、namazuでは関係あるらしいし、直して得はあっても損はないはずなので、そこんとこよろしく)。
同様にJcode.pm、CGI.pmも入手、インストールします。
Another HTML-lint:Downloadのページのリンクを参照して、HTML-lint本体を入手します。
で、適当なフォルダに展開するのですが、私の場合、「D:\usr\local\web」が、Webserverのルートディレクトリなので、「D:\usr\local\web\htmllint」にファイルを展開(解凍)します。
次に、「htmllintenv」というファイルを「htmllint.env」に名前を変更して、編集します。
最初にCGI関係を記述するところがありましたので、そこを変更しました。
-----------------
# CGI 用ディレクトリ (絶対パスかCGI相対パスで指定、なるべく絶対パスにしてください)
$RULEDIR = 'd:/usr/local/web/htmllint/'; # 規則ファイルの場所
$LOGSDIR = 'd:/usr/local/web/htmllint/logs/'; # ログファイルの場所 (不要ならコメントアウト)
$TMPDIR = 'd:/usr/local/web/htmllint/tmp/'; # テンポラリファイルの場所
$IMGDIR = 'd:/usr/local/web/htmllint/'; # イメージファイルの場所
$TAGSLIST = ''; # タグ一覧キャッシュ用の場所 (空ならキャッシュしない)
# 設定するときはアクセス権を適当に与えておくこと
-----------------
次に、規則ファイルのところを変更しました(ファイル名から「.」を取る)。
----------------- # デフォルト規則ファイル (Windows/Macでは . から始まるファイルは無効) $HTMLLINTRC = '.htmllintrc'; ※「.」がある ↓ $HTMLLINTRC = 'htmllintrc'; ※「.」を取る -----------------
あと、「tmp」と「logs」ディレクトリを作ります(私の場合、「D:\usr\local\web\htmllint\tmp」および「D:\usr\local\web\htmllint\logs」)。
このディレクトリ作成、けっこうブービートラップっす。たとえば「tmp」を作らなかった場合、「httpファイルが読めません」とかエラーになるんですが、最初は理由がわかりませんでした。
(最新のHTML-lintでは、この問題は解決されました。)
「私の場合、適当なWWWソフトを立ち上げ、「http://127.0.0.1/htmllint/」をアクセスしたら、無事起動しました。
以上で、ローカルな環境でHTMLの文法チェックが出来ました。他の環境の人も、Perlが動く環境さえ作れれば、容易であると思います。