パッケージによって、Perlスクリプトの文字コード系が異なります。*.zip が EUC/LF、*.sjis.zip が SJIS/CRLF です。アクセス権限情報は含まれていません。HTMLはすべてUTF-8のままです。
現在のヴァージョンは です。
htmllint.zip ( ) |
htmllint.sjis.zip ( ) |
以下のすべてが含まれるフルパッケージです。 |
htmllint.core.zip ( )
|
htmllint.core.sjis.zip ( )
|
Perlスクリプト(htmllint*、*.cgi、*.pm、*.pl)などが含まれます。 |
htmllint.html.zip ( ) |
htmllint.html.sjis.zip ( ) |
HTMLファイル(*.html、*.css、*.gif)などが含まれます。 |
htmllint.rul.zip ( )
|
htmllint.rul.sjis.zip ( )
|
規則ファイル(*.rul)が含まれます。動作に必要です。 |
htmllint.dtd.zip ( )
|
htmllint.dtd.sjis.zip ( )
|
DTD(*.dtd、*.ent)などが含まれます。動作には必要ありません。オリジナルに手を加えてあるものもありますし、XHTMLは含まれていません。 |
Perl5.004以上が必要です。JPerlでは動作しません。ローカルマシンへのインストールについて参考となるサイトを紹介してあります。
CPAN からは、各プラットフォームのPerl処理系を含むすべてのPerl関係のリソースをダウンロードできます。
- CPAN (Comprehensive Perl Archives Network)
- ActivePerl (Perl for Win32)
標準でないPerlライブラリ等は、必要なら例えば以下からダウンロードしてください。
- Jcode.pm
必要です。必ず入手してください。
XS化される前の古い版から最近のXS化された版への更新で、NoXS版を使用する場合、Jcodeフォルダ下に不要なUnicode.pmが残る場合があります。そのときは削除してください。NoXS版のときにUnicode.pmがあるとうまく動作しません。 - jcode.pl
現在 Another HTML-lint 5 では、jcode.pl は使用していません。代わりにJcode.pmを使用しています。しかし、都合でJcode.pmがインストールされていない場合でも、jcode.plがあれば動作します。ただし、そのときはUTF-8は扱えません。 - CGI.pm
CGIとして動作させるときに必要です。 標準ライブラリですが、ヴァージョンが古い場合があります。2.5xでない場合は最新版をダウンロードしてインストールしてください。古いCGI.pmは、sub parse_params
内でmy(@pairs) = split('&',$tosplit);
my(@pairs) = split(/[&;]/,$tosplit);
- cgi-lib.pl
現在 Another HTML-lint 5 では、cgi-lib.pl は使用していません。代わりにCGI.pmを使用しています。
一部のユーザエージェントは、フォームの送出に際して、Content-Typeにapplication/x-www-form-urlencoded; charset=iso-2022-jp
$type =~ m#^application/x-www-form-urlencoded(;|$)#
- LWP (libwww-perl)
CGIとして動作させるときに必要です。 Perlのパッケージに標準で含まれていることもありますが、Perl5.8には含まれていません。URLからHTMLを取得するためには、httpreq.pl を使用することもできますが、これは、Perl for Win32 でLWPが使えなかった頃に、わたしがお手軽に書いた習作スクリプトで、secure server では動作しないことがわかっています。LWPを使うことをお勧めします。インストールしておくと何かと便利です。持っていて損はありません。 - Email::Valid
現在 Another HTML-lint 5 では、Email::Valid は使用していません。 - URL.pl, url_get
現在 Another HTML-lint 5 では、URL.pl、url_get は使用していません。 - wget
現在 Another HTML-lint 5 では、wget は使用していません。 - nkf / nkf Win32
現在 Another HTML-lint 5 では、nkf は使用していません。
htmllint.zip / htmllint.sjis.zip では、全ファイルがフラットな構造に展開されます。このままの状態でも利用できますが、ファイルの種類別にディレクトリを分けることもできます。ファイルは次のように分類できます。
- CGIスクリプト -- *.cgi、*.pm、*.pl、htmllint、htmllint.env などが含まれます。
- HTMLファイル -- *.html と *.css などが含まれます。
- 規則ファイル -- *.rul が含まれます。
- その他のファイル -- *.dtd や *.ent などの直接は利用されないファイルが含まれます。
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中にも何個所か修正しなければならない場所があります。
-
*.html の htmllint.cgi と tagslist.cgi のパス。
s#\./(htmllint\.cgi|tagslist\.cgi)#anywhere/$1#g
- use-htmllintcgi.html のサンプル中のURL 3個所。
s#http://openlab\.ring\.gr\.jp/k16/htmllint/(?!i)
#http://anydomain/anywhere/#g -
一部の *.html のイメージファイル top.gif のパス。
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.sjis.zip には、以下のようなファイルが含まれています。
-
- htmllint
- コマンドラインから起動し、htmllint.pmを呼び出して構文チェックするためのPerlスクリプトです。MacPerl版ではドロップレットですが、MPWで利用するときはプレーンテキストにする必要があります。
- htmllint.pm
- チェッカ本体のPerlスクリプトパッケージモジュールです。
- common.rul
- 共通規則ファイルです。他の規則ファイルの不備を補うもので、htmllint.pm、htmllint.cgi、tagslist.cgiが読み込みます。
- charsets.rul
- IANAのCHARACTER SETSを元にして作った連想配列で、htmllint.pmが読み込みます。
- colortable.rul
- 色名と色コードの対応表です。htmllint.pmが読み込みます。
- *.rul
- 各種HTMLに対応した規則ファイルです。htmllint、tagslist.cgiが読み込みます。
- *.dtd/ent
- それぞれの規則ファイルの元になったDTDです。RFCなどからの抜粋ですが、MozillaやMSIEのものはリファレンスからの捏造品です。htmllintは使用しません。
- tagslist.cgi、tagslist.html
- 規則ファイルからタグ一覧HTMLを生成するPerlスクリプトと、それへの目次の含まれるHTMLです。
- parsedtd.pl
- DTDから、htmllintが読み込む規則ファイルの原形を生成するPerlスクリプトです。htmllintは使用しません。
- htmllint.cgi
- htmllint.htmlとhtmllint.pmの間を仲介するためのゲートウェイ用のPerlスクリプトです。
- htmllintenv
- htmllint.pm、htmllint.cgi、tagslist.cgiが使用する環境ファイルのサンプルです。このファイルからhtmllint.envを作ってください。htmllint.envをhtmllint.pm、htmllint.cgi、tagslist.cgiが読み込みます。
- htmllintrc
- htmllintのための設定ファイルのサンプルです。使用しません。
- htmllint.history.txt
- htmllint.cgiとhtmllint.pmの更新履歴です。
- htmllint.html
- htmllint.cgiをCGIとして呼び出すHTMLです。
- htmllintl.html
- htmllint.htmlの簡易版です。
- htmllinte.html
- MSIE4以上用のDynamicHTMLを利用したものです。
- explain.html、explain-wai.html、explain-score.html、explain-omake.html
- チェックの結果の解説などが述べられたHTMLです。
- colors.html、colorsbk.html
- 名前付き色見本です。
- index.html、introduction.html、notice.html、use-htmllintcgi.html、use-htmllint.html、download.html、rulefile.html、reference.html、faq.html
- この能書きの書かれたHTMLファイル群です。
- htmllint.css
- スタイルシートがちょっとだけ定義されているファイルです。background-image などをお好みに調整してください。
- *.gif
- 「よくできました」などのイメージファイルです。
- httpreq.pl
- 簡単な HTTP アクセスライブラリです。htmllint.env の設定によっては htmllint.cgi が使用します。htmllint.cgi と同じディレクトリに置くか、Perlのライブラリディレクトリに入れてください。
- RFC2396.pm
- RFCに記述されているURIの構文則を正規表現で表わしたPerlスクリプトパッケージモジュールです。htmllint.pm が使用します。htmllint.pm と同じディレクトリに置くか、Perlのライブラリディレクトリに入れてください。
Another HTML-lint 5 をファイアウォール内へインストールする場合は、変数の設定が必要かも知れません。htmllint.env で、$HTTP_PROXY と @HTTP_NOPROXY の設定を適切に行なってください。
UNIXの場合、環境変数HOMEで示されるディレクトリに、.htmllintrc というファイルがあると、チェックの初期状態として読み込みます。htmllintrc というサンプルを好みに編集し、ファイル名を変更して使ってください。
Another HTML-lint 5 を自分のサーバやローカル環境で動作させるための手引きが、以下のようなサイトにあります (順不同、敬称略、無断紹介)。 なお、これらのリンクは生きていない可能性がありますが、積極的には保守しません。
- Another HTML-lint を win32 上で使う (橋本純一)
- HTML文法チェック等(HTML-lintをWindows(2000)で動かす) (sesoko'p)
- 窓達約百に於けるAnother HTML-lintの導入 (桑島雄一郎)
- Another HTML-lintを使おう (えいさあ)
- Another HTML-lintをWindows 2000で動かす (高橋誠)
- Another HTML-lint on Windows95/98/NT (有限会社プレジャースカイ)
- ローカルでAnother HTML-lint gatewayを使うための各種設定 (SATOSHI Fujita)
- Another HTML-lint setup (Z)
- QXでHTML文法チェック! (双未綾)
- Another HTML-lintをWindowsコマンドプロンプトで使うの巻 (Fumio Kawamata)
- Another HTML-lintをローカルで使用するために (荻内康雄)
- 「Another HTML-lint gateway」をローカルで動かす (kazuishi)
- HTMLLINTを導入しよう (たかくん)
- Another HTML-lintを気軽に使う (平山宗平)
- Software Installation on BOW (フジタユウイチ)
- htmllintのインストールと設定 (Sugaken)
- HTMLの文法チェック (中田拓馬)
- Another HTML-lint の導入及び UserAgent との連携 (緋)
- WZ EDITOR4.0にHTML文法チェッカーを組み込む (ミュール)
- Another HTML-lint on Local Mac OS X (ecco)
- AHL-Runner (nakamuxu)
- LintFront (HANEDA Akihito)
- Another HTML-lint 導入ガイド (水無月ばけら)
- Vine Linux 2.6 に移植した Another HTML-lint (ナカタ)
- Mac OS XでAnother HTML-lintを使おう (森俊之)
- Another HTML-lint インストーラ (UNIX用)
- Another HTML-lint on MacOS