| 目次 | はじめに | ゲートウェイサーヴィス |
|---|---|---|
| いくつかの覚え書き | 軽いゲートウェイ | |
| htmllint.cgiの使い方 | 結果の解説 | |
| htmllintの使い方 | タグ一覧 | |
| ダウンロード | 色見本 | |
| 規則ファイルの生成 | ||
| 参考までに | プライマリサイト |
ソース等はここからダウンロードできますが、本ゲートウェイサーヴィスも含めて、これらの実行等に伴ういかなる損害に対しても作者は責任を負いません。
以下のパッケージの主な違いは、Perlスクリプトのコード系で、htmllint.zip が EUC/LF、htmllint.lzh が SJIS/CRLF です。アクセス権限情報は含まれていません。htmllint.sit.bin はMacOS用で、Perlスクリプトの文字コードを SJIS/CR にして、TYPE/CREATOR を付加したりしたものです。HTMLはすべてJISコードのままです。
Perl5.0以上が必要です。LWPを利用する場合などは5.004以上が必要です。JPerlでは動作しません。ローカルマシンへのインストールについて参考となるサイトを紹介してあります。
CPAN からは、各プラットフォームのPerl処理系を含むすべてのPerl関係のリソースをダウンロードできます。
標準でないPerlライブラリ等は、必要なら例えば以下からダウンロードしてください。MacPerlで使う場合は改行コードをCRに変換する必要があるかも知れません。CRに変換するMacPerl用のドロップレットを作ってみました。
require 'cgi-lib.pl'; を use CGI qw(:cgi-lib); に変更してください。ただし、CGI.pmはパラメタ区切りを & だけしか認識しません。; は使えないので注意してください。application/x-www-form-urlencoded; charset=iso-2022-jp$type =~ m#^application/x-www-form-urlencoded(;|$)#htmllint.zip/htmllint.lzh では、全ファイルがフラットな構造に展開されます。このままの状態でも利用できますが、ファイルの種類別にディレクトリを分けることもできます。ファイルは次のように分類できます。
htmllint の多くの動作環境は、htmllint.env に記述されています。htmllint.env はパッケージには含まれていないので、最初はサンプルの htmllintenv を htmllint.env に改名してください。そして htmllint.env 中の設定項目に目を通し、ディレクトリの指定など適宜書き換えてください。他のCGIの動作環境もこのファイルですべて調整します。
htmllint.env は他のCGIスクリプトと同じ場所に置いてください。CGIのアクセス権は、htmllint、htmllint.cgi、tagslist.cgi を 755 などにしておけば大丈夫です。htmllint.env 自身は、CGIからは読めるが外部から直接参照できないようにした方が安全です。例えば、Apacheでの .htaccess に AddType application/x-httpd-cgi .env を追加し、アクセス権を 744 にしておく、などです。ログファイルを作る場合は、それを置くディレクトリにも適切なアクセス権を与えます。
HTML中にも何個所か修正しなければならない場所があります。
s#\./(htmllint\.cgi|tagslist\.cgi)#anywhere/$1#g
s#http://openlab\.ring\.gr\.jp/k16/htmllint/(?!i)#http://anydomain/anywhere/#g
s#\./(top\.gif)#anywhere/$1#g
Lynx を利用する場合は、lynx.cfg でCHARACTER_SETを Japanese(EUC) に設定してください。このとき、htmllint.cgiはEUC版である必要があります。Lynx は 2.7.1 でしか動作確認していないので、他のヴァージョンではオプション等の調整が必要かも知れません。Lynx の起動時オプションは htmllint.env の中に記述されています。
ダウンロードした htmllint.zip/htmllint.lzh/htmllint.sit.bin には、以下のようなファイルが含まれています。
URLからHTMLを取得する方法は何通りか用意されています。LWP (libwww-perl) を使うことをお勧めします。今やPerlに付いてきます。httpreq.pl は、Perl for Win32 でLWPが使えなかった頃に、わたしがお手軽に書いたスクリプトで、secure server では動作しないことがわかっています。他の任意のプログラム、例えば url_get や wget などを使用することもできます。これらの指定は htmllint.env で行ないます。
httpreq.pl を用いてファイアウォール内へインストールする場合は、変数の設定が必要かも知れません。htmllint.env で、$HTTP_PROXY と @HTTP_NOPROXY の設定を適切に行なってください。
UNIXの場合、環境変数HOMEで示されるディレクトリに、.htmllintrc というファイルがあると、チェックの初期状態として読み込みます。htmllintrc というサンプルを好みに編集し、ファイル名を変更して使ってください。
Another HTML-lint を自分のサーバやローカル環境で動作させるための手引きが、以下のようなサイトにあります。(順不同、敬称略、無断紹介)
このサイトの運営は作者が行なっているわけではありませんのでご注意ください。作者が管理しているのはプライマリサイトだけです。