Unofficial html5 linter and validator.
This plugin requires Grunt ~0.4.5
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins.
It also goes into the process of using npm
and node
. If you haven't installed NodeJS before, now is the time. Go to NodeJS (linked from the Grunt site) to download.
npm
is installed with node
.
Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-htmllint --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-htmllint');
In your project's Gruntfile, add a section named htmllint
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
htmllint: {
your_target: {
options: {
force: false,
plugins: ['htmllint-plugin-name'],
/* htmllint options go here */
},
src: [
'path/to/yo/html_files'
]
}
},
});
Type: Boolean
Default value: false
A boolean value that determines whether or not to fail the build on any lint error. If the value is true, lint errors will not fail the build.
Type: Array
Default value: []
An array of strings, each of which should be the name of an htmllint plugin to require and use.
Type: Boolean
or String
Default value: false
If set to true, a .htmllintrc
file will be loaded (relative to your Gruntfile.js
) and
will override the options argument (options.force will no be overriden).
If set to a string, the file path contained in the string will be loaded.
Type: Object
Default value: {}
In this example the default options are used to lint the html files in test/fixtures
.
If any of the html files have any lint error, the task will fail and print the errors
on the screen.
grunt.initConfig({
htmllint: {
options: {},
src: [
'test/fixtures/*.html'
],
},
});
In this example, some custom options are passed. If any lint errors occur, they will not fail the task, but will still be printed. Also, no more than 5 lint errors will be reported. After hitting the maximum number of errors, no more files will be processed.
grunt.initConfig({
htmllint: {
options: {
force: true,
maxerr: 5
},
src: [
'test/fixtures/*.html'
],
},
});
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
htmllint
-> 0.2.4
- changed
options.htmllintrc
to allow specifying path to an htmllintrc file (#11)
htmllint
-> 0.2.3
htmllint
-> 0.2.2
htmllint
-> 0.2.1
- added error codes to the output
- added
htmllintrc
option, allows users to specify configuration in a separate file
- released a little too hastily... (fixed a compatibility issue)
htmllint
-> 0.2.0- finally got version numbers to be the same >.>
htmllint
-> 0.0.12
htmllint
-> 0.0.11- added plugin support
htmllint
-> 0.0.10- improved summary text
htmllint
-> 0.0.9
htmllint
-> 0.0.7
htmllint
-> 0.0.6- fixed index errors on multiple files
- new
htmllint
fixes that stop throws on text elements
htmllint
-> 0.0.5- decided to skip some versions to stay closer to the
htmllint
version number - should fix line,col output bug
- fixed result message saying that files were all clean
- fixed option passing
htmllint
-> 0.0.4
- added
opts.maxerr
option support - froze
htmllint
dependency
- added a functional implementation, was too lazy to document it