言い訳
最近の案件は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