gulp-w3cjs

1.3.2 • Public • Published

gulp-w3cjs NPM version Build Status Dependency Status

w3cjs wrapper for gulp to validate your HTML

Usage

First, install gulp-w3cjs as a development dependency:

npm install --save-dev gulp-w3cjs

Then, add it to your gulpfile.js:

var w3cjs = require('gulp-w3cjs');
 
gulp.task('w3cjs', function () {
    return gulp.src('src/*.html')
        .pipe(w3cjs())
        .pipe(w3cjs.reporter());
});

Custom Reporting

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 () {
    return 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) found

API

w3cjs(options)

options.url

URL to the w3c validator. Use if you want to use a local validator. This is the same thing as w3cjs.setW3cCheckUrl().

options.proxy

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.

options.showInfo

Default: false

Show info type messages in the output.

options.verifyMessage

Allows you to intercept info, warnings or errors, using options.verifyMessage methed, returning false will skip the log output. Example usage:

return gulp.src('index.html')
    .pipe(w3cjs({
        verifyMessage: function(type, message) {
 
            // prevent logging error message
            if(message.indexOf('Element “style” not allowed as child of element') === 0) return false;
            
            // allow message to pass through
            return true;
        }
    }))
    .pipe(w3cjs.reporter())

w3cjs.setW3cCheckUrl(url)

Same as options.url. SEt's the URL to the w3c validator.

License

MIT License

Package Sidebar

Install

npm i gulp-w3cjs

Weekly Downloads

710

Version

1.3.2

License

none

Unpacked Size

19.1 kB

Total Files

11

Last publish

Collaborators

  • callumacrae
  • thomasdavis