Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Grunt plugin for html validation using the development version of vnu-jar

License

NotificationsYou must be signed in to change notification settings

prantlf/grunt-html

 
 

Repository files navigation

Linux Build StatusWindows Build statusCode ClimateDependency StatusdevDependency Status

Grunt plugin for HTML validation, using thevnu.jar markup checker.

This fork publishes a newgrunt-html-dev NPM module, which depends onvnu-jar@next instead of the latest release ofvnu-jar. TheW3C Markup Validation Service uses thedevelopment version ofvnu-jar too. If you want to get consistent results from on-line and off-line testing, you should usegrunt-html-dev instead ofgrunt-html in your project.

Getting Started

Install this grunt plugin next to your project'sGruntfile.js with:

npm install grunt-html-dev --save-dev

Then add this line to your project'sGruntfile.js:

grunt.loadNpmTasks('grunt-html-dev');

Then specify what files to validate in your config:

grunt.initConfig({htmllint:{all:['demos/**/*.html','tests/**/*.html']}});

For fast validation, keep that in a single group, as the validator initialization takes a few seconds.

When combined with a watching task (such asgrunt-contrib-watch), even faster validation can be achieved by starting the validator in client mode and connecting to an already-running instance of the validator in server mode. This removes the time required by repeated initializations. See theserver option below.

Options

ignore

  • Type:Array,String, orRegExp
  • Default:null

Use this to specify the error message(s) to ignore. For example:

all:{options:{ignore:'The “clear” attribute on the “br” element is obsolete. Use CSS instead.'},src:'html4.html'}

Theignore option also supports regular expressions. For example, to ignore AngularJS directive attributes:

all:{options:{ignore:/attributeng-[a-z-]+notallowed/},src:'app.html'}

server

  • Type:Object,Function, or a falsy value
  • Default:false

Whenserver is set to a falsy value, the validator is invoked usingjava -jar, which can be considered normal operation.

Setserver to an object to start the validator in client mode and connect to an already-running instance of the validator in server mode.To start the validator in server mode, usejava -cp "path/to/vnu.jar" nu.validator.servlet.Main <port>.

all:{options:{// connect to a validator instance running in server mode on localhost:8888server:{}},src:'app.html'}

Theserver object also accepts thehost andport keys, specifying the location of the server.

all:{options:{server:{// your team's local dev tool machine, for examplehost:'192.168.0.5',port:8877}},src:'app.html'}

The following configuration in Gruntfile.js usesgrunt-vnuserver to start the validator in server mode and sets up a watch task to runhtmllint every time the source file changes.By starting the validator in server mode once using thevnuserver task, validations byhtmllint can be performed much faster by simply connecting to this already-running server.

module.exports=function(grunt){grunt.initConfig({vnuserver:{},htmllint:{all:{options:{server:{}},src:'app.html'}},watch:{all:{tasks:['htmllint'],files:'app.html'}}});grunt.loadNpmTasks('grunt-vnuserver');grunt.loadNpmTasks('grunt-html-dev');grunt.loadNpmTasks('grunt-contrib-watch');grunt.registerTask('default',['vnuserver','watch']);};

If the port of the validator in server mode becomes know first during the grunt execution, you will not be able to write a specific port to theserver option of thehtmllint task. Setserver to a function, which would return the object. The function will be evaluated by thehtmllint task first during its execution, which will geve some other code enough time to obtain the actual port of the validator in server mode. For example:

module.exports=function(grunt){varvnuPort;grunt.initConfig({vnuserver:{// Name the task to be able to listen to its events.server:{// Start with the first free ephemeral port.port:49152,// Try other ports, up to port + 30, if the first one is not free.useAvailablePort:true}},htmllint:{options:{// Connect to the vnu server on the dynamically chosen  port.server:function(){return{port:vnuPort};}},all:{src:"app.html"}},watch:{all:{tasks:['htmllint'],files:"app.html"}},});grunt.loadNpmTasks('grunt-vnuserver');grunt.loadNpmTasks('grunt-html');grunt.loadNpmTasks('grunt-contrib-watch');// Obtain the port, which the vnu server is listening to.grunt.event.on('vnuserver.server.listening',function(port){vnuPort=port;});grunt.registerTask('default',['vnuserver','watch']);};

errorlevels

  • Type:Array
  • Default:'info','warning','error'

Seterrorlevels to control which error types are returned from the validator. Ignores all other returned types.

force

  • Type:Boolean
  • Default:false

Setforce totrue to report errors but not fail thegrunt task.

reporter

  • Type:String
  • Default:null

Allows you to modify the output format. By default, this plugin will use a built-in Grunt reporter. Set the path to your own custom reporter or to one of the provided reporters:checkstyle,junit orjson.

reporterOutput

  • Type:String
  • Default:null

Specify a filepath to output the results of a reporter. IfreporterOutput is specified then all output will be written to the given filepath rather than printed tostdout.

absoluteFilePathsForReporter

  • Type:Boolean
  • Default:false

SetabsoluteFilePathsForReporter totrue to use absolute file paths in generated reports.

noLangDetect

  • Type:Boolean
  • Default:false

SetnoLangDetect totrue toskip the checking of the language of the page.

Travis CI potential pitfalls

Since vnu.jar requires Java 8 environment, you might have trouble setting Travis CI to work with grunt-html.In that case seethis patchand theTravis CI doc page.

License

Copyright Jörn Zaefferer.
Licensed under the MIT license.

About

Grunt plugin for html validation using the development version of vnu-jar

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript95.2%
  • HTML3.5%
  • PHP1.3%

[8]ページ先頭

©2009-2025 Movatter.jp