First, install gulp-w3cjs as a development dependency:
npm install --save-dev gulp-w3cjsThen, add it to your gulpfile.js:
var w3cjs = require('gulp-w3cjs');
gulp.task('w3cjs', function () {
gulp.src('src/*.html')
.pipe(w3cjs())
.pipe(w3cjs.reporter());
});The results are also added onto each file object under w3cjs, containing success (Boolean) and messages (Array).
Example usage
var w3cjs = require('gulp-w3cjs');
var through2 = require('through2');
gulp.task('example', function () {
gulp.src('src/*.html')
.pipe(w3cjs())
.pipe(through2.obj(function(file, enc, cb){
cb(null, file);
if (!file.w3cjs.success){
throw new Error('HTML validation error(s) found');
}
}));
});Example output
HTML Error: index.html Line 5, Column 19: Element title must not be empty.
<title></title>
.../gulpfile.js:11
throw new Error('HTML validation error(s) found');
^
Error: HTML validation error(s) foundURL to the w3c validator. Use if you want to use a local validator. This is the
same thing as w3cjs.setW3cCheckUrl().
Http address of the proxy server if you are running behind a firewall, e.g. http://proxy:8080
options.doctype and options.charset were dropped in 1.0.0. Use 0.3.0 if you need them.
Same as options.url. SEt's the URL to the w3c validator.


