HTML5 文法チェッカ
HTML5 の lint が欲しい
ローカルで動く html の lint って事で、もう、長いこと Another HTML-lint を使ってきたのだけど、これは HTML5 に対応していない。
検索してみると、これを HTML5 に対応させたサービスは存在したのだけど、 ダウンロードのリンクは見当たらない。でも、ローカルで動かしたかった。
で、色々調べてみて、W3C でも使われている
Nu Html Checkerを見つけた。
ここの get the latest release
から .jar ファイルを取得できる。
また、インストール関係の説明もここから辿れる。
で、Debian にインストールしてみた。 少し作業が必要になったので、めも。
ゴールは Tomcat で動かすこと。
Nu Html Checker は .jar と .war の 2 種類の方法で提供されている。 .jar は java コマンドで動かす。.war ファイルは Tomcat 等でサーブレット として動かす。毎回手動で動かすのは面倒なのでパス。 スクリプトを書いて、起動時に動かしても良いが、 今回は Tomcat でやる事にした。
必要なもの
- Tomcat
- Java
Tomcat はパッケージになっている。でも Java は java8 が必要だけど、 パッケージには無い。 なので Oracle からダウンロードしてインストールする。 この辺りの手順はここを参考にした。
Tomcat のインストール
パッケージを入れる
# apt-get install tomcat8
確認の為に http://localhost:8080/
にアクセスする。
It works !
の表示が出たら OK 。
Tomcat を先にインストールするのは、
- 依存関係で JDK が Oracle のとは別にインストールされ、設定が上書きされる
- Tomcat 単体で動作確認できる
辺りが理由
Java のインストール
入手
OracelのJavaダウンロードページ から環境に合わせてダウンロードする。 今回は Linux 用 64 bit で、.tar.gz な物を選択した。
展開
適当なディレクトリで
$ tar xvf jdk-8u77-linux-x64.tar.gz
する。jdk1.8.0_77/
ディレクトリが作成され、その中に展開される。
移動
ディレクトリ一式を /usr/lib/jvm
配下へ移動する。
# mv jdk1.8.0_77 /usr/lib/jvm
また、他(OpenJDK など)と同様にオーナーを root にしておく。
# chown -R root:root jdk1.8.0_77
リンクを張る
/usr/lib/jvm
中の default-java
が jdk1.8.0_77
を指すようにする。
# rm default-java
# ln -sf jdk1.8.0_77 default-java
Tomcat の起動スクリプト(/etc/init.d/tomcat8
) を見てみると
/usr/lib/jvm
中で Oracel等の JDK がインストールされているか、
探している。その中のパスの 1 つが default-java
で、
これを Oracel の JDK に向けてやる事で取りあえず動くように
なった。
つまり、正式な手段でもないし将来に渡って大丈夫とも言えない。
デフォルトの java 関連コマンドのすり替え
Debian の機構を使って java コマンドなどを Oracel の JDK に向けてやる。
# update-alternatives --install /usr/bin/java java /usr/lib/jvm/default-java/bin/java 1
# update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/default-java/bin/javac 1
# update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/default-java/bin/javaws 1
# update-alternatives --config java
# update-alternatives --config javac
# update-alternatives --config javaws
選択を求められたら Java8 を選択する。
Tomcat の再起動
java 関連のパスが変わったので、再起動して反映させる。
# /etc/init.d/tomcat8 restart
Nu Html Checker のインストール
取得した .war ファイルを /var/lib/tomcat8/webapps
にコピーする。
# cp vnu.war /var/lib/tomcat8/webapps
Tomcat が自動的に展開し、vnu
ディレクトリが作られる。
http://localhost:8080/vnu/
にアクセスして、Nu Html Checker の
画面が表示されたら成功。
おまけ
Nu Html Checker の再起動
Tomcat は設定ファイルの更新を監視しているので、web.xml を編集して 保存するとサーブレットの再読み込みが行われる。簡単にやるなら、 単にファイルの時刻を更新するだけで良い。
# touch /var/lib/tomcat8/webapps/vnu/WEB-INF/web.xml
.jar 版を動かす
ドキュメントにある通り
$ java -cp ./vnu.jar nu.validator.servlet.Main 8888
とする。http://localhost:8888
にアクセスすると画面が表示される。