HTML文法チェック等(HTML-lintをWindows(2000)で動かす)



旧版

2002/04/30:最近のHTML-lintでは話が変わっていたので、書き直しました。


1.HTML-lintとの出会い

ホームページを作るときに、私の場合は、エディタでHTMLを直接書いているのですが、文法とかけっこういいかげんだったりします。 そんなある日、Another HTML-lint というサイトを見つけたのでした。
そこは、HTML-lintという文法チェックをしてくれるところだったのですが、そこで自分のホームページをチェックすると、見事にエラーたくさんで70点くらいしか取れなかったので、一生懸命エラーを直していたのでした。

で、「HTMLを書き直す」→「 Another HTML-lint で確認」→「減点がある」→「直す」→「振り出しに戻る」を繰り返していたのですが、ダイヤルアップ環境の私としてはちとつらかったので、自分のマシンで同等なことができないかと思っていると、http://ring.aist.go.jp/openlab/k16/htmllint/index.html を見ると、ローカルな環境(自分のマシンのみ)でHTML文法チェックが出来そうなので、ためしてみたら、本当に出来たので、ここにサマリを残します。


2.下準備sono1.Webserverのセットアップ

昔は、DOS環境でHTMLLintを動かしていましたが、現在では自分のマシンでWebserverを立ち上げて、そこでHTMLLintを動かしたほうが楽なので、そういう環境を作ってみました。

で、私が選んだWebServerソフトは、AN HTTP SERVERです。Apacheでも良かったのですが、窓の杜で入手できたのと、会社でnamazuを動かしているんですが、日本語を含むファイル名を扱うとき、apacheでうまく動かなかったけどAN HTTP Serverでは(たまたま)うまく動いたので、こちらがお気に入りというわけです。まぁ、HTTP Serverは、なんでもいいです(無責任)。


3.下準備sono2.Perlのセットアップ

Another HTML-lint:Downloadのページのリンクを参照して、ActivePerl(for Win32)をinstallします。

念のため、Re: for ActivePerl 5.6.1 Build 630を参考にして、必要なら、そこに書いている内容にしたがいます。(win95、98では、うまく動かないらしいので、修正プログラムがある。htmllintで関係あるかどうか不明だけど、namazuでは関係あるらしいし、直して得はあっても損はないはずなので、そこんとこよろしく)。


同様にJcode.pm、CGI.pmも入手、インストールします。


4.HTML-lintのセットアップ

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では、この問題は解決されました。)


HTML-lintの起動

「私の場合、適当なWWWソフトを立ち上げ、「http://127.0.0.1/htmllint/」をアクセスしたら、無事起動しました。

以上で、ローカルな環境でHTMLの文法チェックが出来ました。他の環境の人も、Perlが動く環境さえ作れれば、容易であると思います。


sesoko'pのHomePegeに行く。