# grunt-htmlhint > Validate html files with htmlhint. ## Getting Started This plugin requires Grunt `~0.4.1` If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command: ```shell npm install grunt-htmlhint --save-dev ``` One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript: ```js grunt.loadNpmTasks('grunt-htmlhint'); ``` ## The "htmlhint" task ### Overview In your project's Gruntfile, add a section named `htmlhint` to the data object passed into `grunt.initConfig()`. ### Options See all rules here: [https://github.com/yaniswang/HTMLHint/wiki/Rules](https://github.com/yaniswang/HTMLHint/wiki/Rules) If options is empty, task will scan nothing. #### options.htmlhintrc Type: `String` Default value: `null` If this filename is specified, options and globals defined therein will be used. Task and target options override the options within the `htmlhintrc` file. The `htmlhintrc` file must be valid JSON and looks something like this: ```json { "tag-pair": true, } ``` #### options.force Type: `Boolean` Default value: `false` Report HTMLHint errors but dont fail the task ### Usage Examples #### Direct options ```js htmlhint: { html1: { options: { 'tag-pair': true }, src: ['path/to/**/*.html'] }, html2: { options: { 'tag-pair': true }, src: ['path/to/**/*.html'] } } ``` #### Config file ```js htmlhint: { options: { htmlhintrc: '.htmlhintrc' }, html1: { src: ['path/to/**/*.html'] }, html2: { src: ['path/to/**/*.html'] } } ``` ## Release History * 2013-4-6   v0.4.0   First release