Emacs でFlaymakによるHTMLのtidyを使った構文チェックでの問題。
nxhtml-mode は起動激遅だし、nxml-modeはいいようなそうでもないような微妙な感じ。
あまり考えないでhtml-modeでやってみる。
tidyのオプションやらを駆使してゴニョゴニョしてみる
tidyインストール(Macports)
sudo port install tidy
tidyのオプションをちょい足し。
テストファイルindex.htmlを用意して、コマンドラインで実験。
tidy -utf8 --accessibility-check 1 --new-blocklevel-tags table,section,article,aside,hgroup,header,footer,nav,figure,figcaption,video,audio,canvas markup no index.html
Emacsの設定のベースは下記
オプションを足すと
こんなかんじかな
init.el
;;;; ;; FlymakeHtml ;; http://www.emacswiki.org/emacs/FlymakeHtml (defun flymake-html-init () (let* ((temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace)) (local-file (file-relative-name temp-file (file-name-directory buffer-file-name)))) ;; (list "tidy" (list local-file)))) (list "/opt/local/bin/tidy" (list "-utf8" "--accessibility-check" "1" "--new-blocklevel-tags" "table,section,article,aside,hgroup,header,footer,nav,figure,figcaption,video,audio,canvas" "markup" "no" local-file)))) (add-to-list 'flymake-allowed-file-name-masks '("\\.html$\\|\\.ctp" flymake-html-init)) (add-to-list 'flymake-err-line-patterns '("line \\([0-9]+\\) column \\([0-9]+\\) - \\(Warning\\|Error\\): \\(.*\\)" nil 1 2 4)) (add-hook 'html-mode-hook '(lambda () (flymake-mode t)))
tidyrcを書く方法もあるけど
『--config ~/.tidyrc』みたいなやつもあるけど今回やらない。
エラーやらワーニングやら
tableタグを使うとWarningでる
Warning: <table> lacks "summary" attribute
これはtidyのオプションで「--accessibility-check 1 」すると出なくなる。ちなみおにデフォルトは0。
しかしこのオプションで副作用が出るかもしれない。調べれば良いことだけど。
すべて読むのしんどい(´・ω・`)
オプションでタグ追加してみる
参考サイト
--new-blocklevel-tags" "table, section, article, aside, hgroup, header, footer, nav, figure, figcaption, video, audio, canvas" local-file
これでチェックすると
Warning: <section> is not approved by W3C
これどうすりゃいいの(´・ω・`)