diff --git a/.gitignore b/.gitignore index 0d74d48fe6bb..5c7f051926a9 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,9 @@ nbproject *.komodoproject .komodotools +# grunt-html-validation +validation-staus.json + # Folders to ignore .hg .svn diff --git a/.travis.yml b/.travis.yml index 5ed6e43e67d4..9f2371887fa0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ language: node_js node_js: - 0.8 before_script: + - gem install jekyll - npm install -g grunt-cli env: global: diff --git a/Gruntfile.js b/Gruntfile.js index c15b4ad11530..576c63741382 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -102,6 +102,19 @@ module.exports = function(grunt) { } }, + jekyll: { + docs: {} + }, + + validation: { + options: { + reset: true, + }, + files: { + src: ["_gh_pages/**/*.html"] + } + }, + watch: { src: { files: '<%= jshint.src.src %>', @@ -127,12 +140,17 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-contrib-qunit'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-html-validation'); + grunt.loadNpmTasks('grunt-jekyll'); grunt.loadNpmTasks('grunt-recess'); grunt.loadNpmTasks('browserstack-runner'); + // Docs HTML validation task + grunt.registerTask('validate-docs', ['jekyll', 'validation']); + // Test task. - var testSubtasks = ['jshint', 'qunit']; + var testSubtasks = ['jshint', 'qunit', 'validate-docs']; // Only run BrowserStack tests under Travis if (process.env.TRAVIS) { // Only run BrowserStack tests if this is a mainline commit in twbs/bootstrap, or you have your own BrowserStack key diff --git a/package.json b/package.json index 5f1428316701..efcc5af0cc06 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,8 @@ , "grunt-contrib-uglify": "~0.2.2" , "grunt-contrib-qunit": "~0.2.2" , "grunt-contrib-watch": "~0.5.1" + , "grunt-html-validation": "git://github.com/praveenvijayan/grunt-html-validation.git" + , "grunt-jekyll": "~0.3.8" , "grunt-recess": "~0.3.3" , "browserstack-runner": "~0.0.11" }