1
1

More than 5 years have passed since last update.

Vimで、HTMLの中身でバリデーターを変える

Posted at

言い訳

最近の案件はIE7がほとんど淘汰されてIE8以上になりましたが、まだまだHTML5にはいけませんね。
会社ではHTML4.01 Strictを原則使用するポリシーになっていますが、一方でスマホ向け案件ではHTML5+CSS3が使い放題で色々と迷います。

HTML 4.01StrictにはAnother HTML Lintを使っていますが、こいつはHTML5に対応してくれていません。
一方、有志がHTML5のバリデータを叩いてくれるものを作ってくれているので、自動判別するようにしました。

といっても、HTML5独特のDOCTYPE HTML を検索してるだけです。

ちなみにBufWritePostで連動してるため、保存したらすぐにチェックされます。
需要があるかはわかりませんが。

注意

  • Windowsベースで使ってるので、適当にパス等は変えて下さい。
  • NeoBundle使わないやり方は適当になんとかしてください
vimrc
"vimrc上部
NeoBundle 'https://github.com/hokaccha/vim-html5validator.git'

"下のほう
au! BufWritePost *.html call TypeHTML()

function! TypeHTML()
  let html = search('<!DOCTYPE HTML>')
  if (html<1)
    "for XHTML
    autocmd! BufWritePost <buffer> :silent make
  else
    "for HTML5
    au! BufWritePost *.html :HTML5Validate
  endif
endfunction
$vim/compiler/htmllint.vim
if exists("current_compiler")
  finish
endif
let current_compiler = "htmllint"

if exists(":CompilerSet") != 2      " older Vim always used :setlocal
  command -nargs=* CompilerSet setlocal <args>
endif

CompilerSet makeprg=perl\ c:\htmllint.sjis\htmllint\ %
CompilerSet errorformat=%f(%l):%m
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1