【Homebrew】一度に複数ページのHTMLを構文チェックする/HTML Living Standard

一ページ一ずつチェックするのではなく、ある程度複数のページを一気に構文チェックをかけたいなという時があります。
例えば、どの程度HTML Living Standardに準拠しているサイトなのか、文法崩れがあるサイトなのかをざっくりとだけ把握したいという時など。
The Nu Html CheckerのHomebrewを使った方法でできそうだったので、試したところ無事成功!
個人的に使いやすいよう構文チェックの結果をページ別に自動保存するバッチファイルを作ってみたので、諸々覚書として残したいと思います。
なお、ローカルで1ページずつチェックしたいなら、Dockerを使った方がWebベースと同じくシンプルで見やすいと思います。
下の記事で書いているのでよければどうぞ!
Contents
Homebrewを使って構文チェックをする
前提:macOS 12.3、Homebrewインストール済み環境
まずHomebrewでNu Html Checkerをインストールします。
$ brew install vnu
インストール処理が終わり、下記のようにバージョンが確認できたらOK。
$ vnu --version
20.6.30
vnuコマンドの使い方
基本的には次のように、ファイル名、ディレクトリパス、URLを指定して使えます。
$ vnu FILE.html
$ vnu DIRECTORY_PATH
$ vnu http://example.com/foo
例えば$ vnu http://blog.webico.work/で実行した場合、こんな感じに出力されます。
結構エラーありましたね
ちなみに先ほどデフォルト(gnu)だった出力形式を、jsonに変えてみるとこんな感じ。
$ vnu –format json http://blog.webico.work/
複数ページで構文チェックするオプション
今回の本題、複数ページの構文チェックをしたい場合はファイル名もしくはURLをスペース区切りで並べることで出来ました。シンプル!
$ vnu FILE.html FILE2.html FILE3.html…
$ vnu URL1 URL2 URL3…
その他使う機会がありそうなオプション
特にディレクトリパスを指定する場合等、ここらへんを併せると使いやすそうです。
–skip-non-html | *.html、*.htm、*.xhtml、または *.xht 拡張子を持たないドキュメントをスキップします。 |
---|---|
–skip-non-css | ドキュメントを CSS としてチェックしますが、拡張子が *.css でないドキュメントはスキップします。 |
–skip-non-svg | ドキュメントを SVG としてチェックしますが、拡張子が *.svg でないドキュメントはスキップします。 |
–also-check-css | CSS ドキュメントをチェックします (HTML ドキュメントのチェックに加えて)。 |
–errors-only | エラー レベルのメッセージとドキュメント エラー以外のメッセージのみが表示されるように指定します。報告されます (警告と情報メッセージが報告されないようにするため)。 |
–format gnu|xml|json|text | 結果を報告するための出力形式を指定します。デフォルト: “gnu” |