htmllint - HTML-lint実行
最新版
- Ver.1.00 htmllint-100.lzh
- 秀丸エディタのマクロライブラリからダウンロード
概要
アーカイブ付属の解説テキスト: htmllint.txt
このマクロhtmllint.macは、秀丸エディタからAnother HTML-lintを簡単に使用するためのマクロです。
このページではそれらインストール手順を含めて書いています。
『WZから秀丸への乗り換え記』で、こんなことを書きました。
WZは、HTML(XHTML)をテキストエディタで書く人のための機能が充実している。その一つにHTML文法チェックがある。Another HTML-lintと連携し、簡単にHTMLの文法チェックを行うことができる。
〜中略〜
まだ詳しく調べてないが、工夫すれば秀丸と連携することも可能なようだ。これはぜひ実現したい。
と思ったら、なんだかちょっとめんどーそうだ。秀丸マクロから外部プログラムを起動し、その標準出力をパイプで読めれば簡単なのだが‥‥。
run文を起動時にテンポラリへリダイレクトさせ、その結果を読み込み、その後テンポラリを消しておく――ってなことをしなきゃダメか?
秀丸エディタのマクロヘルプを読み直してみた結果、やっぱり一時ファイルに結果をリダイレクトするしか方法はなさそうで、しかも秀丸マクロからは一時ファイルを削除することはできないようです(秀丸マクロのヘルプを検索しても、それらしい名前の文が見つかりませんでした)。 ちょっと悩んではみたものの、すっぱり諦めて、その通りの方法で実現することにしました。それがこのマクロ、htmllint.macです。
こんなんで概要の説明になっていますでしょうか。。。
2009年3月追記:
秀丸マクロでも標準入出力は使えることを、緒方さんという人に教えていただきました。
2009/3/12に書いていますので、興味のある人はお読みください。
セットアップ
概要の章で書いた通り、拙作のhtmllint.macは、Another HTML-lintを秀丸エディタから使うためのマクロです。つまり、Another HTML-lintがインストールされていない環境では役に立ちません。
よってまず本章では、実行に必要なActivePerl、Jcode、Another HTML-lintのインストール方法について説明します(説明はしますが、これらのインストール方法についてのサポートはできませんので、あしからずご了承ください。私自身の覚え書きの意味を含めて説明を書きます)。 すでにAnother HTML-lintをお使いの方は、『このマクロhtmllint.macのインストール』からお読みください。
私は長年WZ EDITORを愛用してきて、HTML-lintは当たり前のように使ってきました。今回、WZ EDITORのXHTMLプラグイン マニュアルを読み返しながら、再度最新版のインストールを行ってみました。私が説明を書くより、(エディタは違いますが、HTML-lintを使用することに変わりはないので)そちらを見た方がわかりやすいかもしれません。
ActivePerlのインストール
まずはActivePerlをインストールします。 ActiveState の[DOWNLOADS]-[Language Downloads]から最新版をダウンロードし、インストールを行ってください。ダブルクリックするだけで、後は画面の指示に従っていけば、簡単にインストールが完了するはずです。
2007年7月現在の最新版は(実際に私がインストールしたのは)、ActivePerl-5.8.8.820-MSWin32-x86-274739.msiです。
インストールが完了したら、動作確認してみます。コマンドプロンプトから「perl --version」を実行してみましょう。
上図のようにバージョンが表示されれば、インストールできています。
本マクロhtmllint.macでは、ActivePerlのインストール先は、デフォルトのC:\Perlであると想定しています。ActivePerlのインストール時に、特に指定しなければC:\Perlへインストールされます。もし他のフォルダへインストールした場合は、本マクロの設定ファイルhtmllint.iniを、修正する必要があります(詳細は『環境設定』の章を参照してください)。以下は、C:\Perlへインストールしたと仮定して説明します。
Jcode.pmのインストール
次にJcode.pmをインストールします。 Jcode.pm - jcode.pl の後継ページ からJcode.pmをダウンロードします(HTML-lintを使いたいだけなら、Jcode.pmさえ入れれば、他のライブラリをインストールする必要はありません)。
2007年7月現在の最新版は(実際に私がインストールしたのは)、Jcode-2.06.zipです。
zipファイルを解凍し、READMEを読むと、「perl Makefile.PLを実行せい」と書いてあるので、zipファイルを解凍したフォルダで実行します。下図は、C:\Temp\Extract\Jcode-2.06に解凍した場合の例です。
上記で生成されたJcode.pmとJcodeフォルダを、C:\Perl\site\libへコピーします。
Another HTML-lintのインストール
ようやくAnother HTML-lintのインストールです。 Another HTML-lintのダウンロードページから、htmllint.lzhをダウンロードします。そのページに書いてある通り、htmllint.zipはEUC/LF(ぶっちゃけLinux系)、htmllint.lzhがSJIS/CRLF(要するにWindows系)なので、だったら俺はhtmllint.zipだろうと思いつつも、htmllint.lzhの方をダウンロードします。
解凍したら、フォルダごとC:\Perl\htmllintとして置きます。
このマクロhtmllint.macのインストール
解凍してできるhtmllint.macをマクロ用フォルダにコピーしてください。
マクロ用フォルダとは、[その他]-[動作環境]-[環境]の[マクロファイル用のフォルダ]で、あなたが設定しているフォルダです。特に設定を変えていない場合、秀丸をインストールしたフォルダ (標準ではC:\Program Files\Hidemaru) がマクロ用フォルダになります。
このマクロのLZHファイルを解凍すると、htmllint.iniが同梱されています。このINIファイルは、このページに書かれた通りにセットアップを行ったのであれば不要です。削除してしまって構いません。そうでない場合は、『環境設定』の章を参照して設定を行ってください。
動作確認
前節までで一通りのインストールが終わりました。HTML-lintが動作するか、確認してみます。HTML-lintをインストールしたフォルダで、(ちょっと意地悪ですが)そこに置いてあるHTMLファイルに対して文法チェックさせてみましょう。「perl htmllint -score index.html」と実行してみます。
このマクロhtmllint.macは、カレントファイルに対して上記処理を秀丸エディタから実行し、その結果を秀丸エディタのウィンドウで開き、そうすることでエラー箇所に簡単にタグジャンプできるようにしただけ――のマクロです。
逆に言えば、そもそも上記のようにしてHTML-lintが動作しないのであれば、このマクロは用をなしません(まともに動作しませんし、動作することに意味がありません)。
使用方法
- 文法チェックを行いたいHTMLファイルを秀丸で開いている状態で、このマクロを実行します。すると、ウィンドウのタイトルが「HTML-lint: 解析中。。。」と変わり、裏で文法チェック処理が実行されます。おおむね数秒で終了します。
- 文法チェックが終了すると、自動的に解析結果が表示されます(解析結果ファイル*1をリードオンリーでオープンします)。
- 表示された解析結果からタグジャンプできますので、エラー箇所にタグジャンプして、修正を行います。 以上を繰り返し、HTMLファイルの編集を行っていくことになります。
環境設定
ActivePerlおよびAnother HTML-lintを、このページに書かれた通りにインストールしたのであれば、特別な設定は不要です。
インストール先フォルダを変更した場合(および、このマクロを使用する以前に別のフォルダにインストールしていたのであれば)、htmllint.iniをこのマクロと同一ディレクトリにコピーして、perl.exeとHTML-lintのパスを指定してください。
このマクロに同梱されているhtmllint.iniの初期値は、下記の通りとなっています。
[path] perl=C:\Perl\bin\perl.exe htmllint=C:\Perl\htmllint\htmllint
上記はデフォルト値です。従って、このページに書かれた通りにインストールしたのであれば、htmllint.iniは不要です。つまり、htmllint.iniが存在していない場合は、上記デフォルト値通りであると解釈します。
更新履歴
Ver.1.00 2007/8/1 初版。