最近も HTML を書く機会が多く,HTML を実装するときには「htmllint」と CircleCI を組み合わせて Lint を実行している.「htmllint」の紹介記事は前に書いてある.
the i tag is banned
Font Awesome を使って <i class="far fa-smile-wink"></i> のように絵文字を HTML に追加したら,エラーになった.「htmllint」の Lint ルールの中に tag-bans がある.今回は Font Awesome を使いたく,i タグを tag-bans から除外する必要があった.
the i tag is banned
i タグ以外だと,b タグと style タグも同じ Lint ルールでエラーになる.
the b tag is banned the style tag is banned
理由としては htmllint init コマンドで生成されるデフォルトの .htmllintrc だと,以下のように i タグは禁止されている.
{ (中略) "tag-bans": [ "style", "b", "i" ], (中略) }
よって .htmllintrc を修正すれば,エラーを無くすことができる.
{ (中略) "tag-bans": [ "style", "b" ], (中略) }
Inline Configurations
.htmllintrc 以外に Lint ルールをカスタマイズする方法があるのかを調べるために Wiki を読んだところ,.htmllintrc に設定をする「Global Options」だけでなく,HTML に直接アノテーションを書く「Inline Configurations」もサポートされていた.
「Inline Configurations」を使うと,HTML ごとに設定を変更できるため柔軟性がある.具体的には以下のように HTML のコメント形式でアノテーションを書くことで i タグのエラーを無くすことができる.
<!DOCTYPE html> <!-- htmllint tag-bans="['style','b']" --> <html> <head>
もし tag-bans の Lint ルールを全て無効化する場合は,以下のようにアノテーションを書くこともできる.
<!DOCTYPE html> <!-- htmllint tag-bans="false" --> <html> <head>
まとめ
- 「htmllint」で Lint ルールをカスタマイズする方法は「Global Options」と「Inline Configurations」がある
- HTML に直接アノテーションを書く「Inline Configurations」を使うと,HTML ごとに設定を変更できるため柔軟性がある