Skip to content
HTML Validation using Mozilla's HTML5 Validator instance
Python JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
.npmignore Allow CLI in Node by not ignoring html5check.py May 23, 2015
README.md
bad.html
good.html
html5-lint.js
html5check.py
package.json

README.md

html5-lint - HTML Validation using Mozilla's HTML5 Validator instance

This is a node.js and Python front-end to the Mozilla Labs' HTML Validator Web Service, located at https://validator.mozillalabs.com/. It was setup in order to be used in the build system of various Mozilla projects, without spamming the main validator (i.e., http://validator.nu) --see https://bugzilla.mozilla.org/show_bug.cgi?id=763804. You can read more about the validator at https://validator.mozillalabs.com/.

You can and should use it in your own Mozilla project's build system in order to automatically check your HTML for errors.

Usage - node.js

The html5-lint module can be installed via npm:

$ npm install html5-lint

Once installed, it can be used like so:

var fs = require( 'fs' ),
    html5Lint = require( 'html5-lint' );

fs.readFile( 'index.html', 'utf8', function( err, html ) {
  if ( err )
    throw err;

  html5Lint( html, function( err, results ) {
    results.messages.forEach( function( msg ) {
      var type = msg.type, // error or warning
          message = msg.message;

      console.log( "HTML5 Lint [%s]: %s", type, message );
    });
  });
});
gulp.js

If you are using the gulp.js build system you may wish to use the gulp-html5-lint plugin. Documentation is available at https://www.npmjs.com/package/gulp-html5-lint.

Usage - Python

html5check.py -h file.html

You can test the parser with the supplied files:

$ ./html5check.py -h good.html
The document is valid HTML5 + ARIA + SVG 1.1 + MathML 2.0 (subject to the utter previewness of this service).
$ ./html5check.py bad.html
Error: Start tag seen without seeing a doctype first. Expected

Options

  • -h : force text/html
  • -x : force application/xhtml+xml
  • -g : GNU output
  • -e : errors only (no info or warnings)
  • --encoding=foo : declare encoding foo
  • --service=url : the address of the HTML5 validator (defaults to https://html5.validator.nu/)

TODO

  • error/warning filtering based on types, categories of errors/warnings
You can’t perform that action at this time.