module.exports = function(grunt) { // load all grunt tasks require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); grunt.initConfig({ open : { dev: { path: 'http://localhost:1919' } }, connect: { server: { options: { port: 1919, base: 'demo_docs/build', livereload: true } } }, compass: { build: { options: { config: 'compass.rb', environment: 'production', force: true } }, dev: { options: { config: 'compass.rb', force: true } } }, exec: { bower_update: { cmd: 'bower update' }, build_sphinx: { cmd: 'sphinx-build demo_docs/source demo_docs/build' } }, clean: { build: ["demo_docs/build"] }, watch: { /* Compile sass changes into theme directory */ sass: { files: ['sass/*.sass', 'bower_components/**/*.sass'], tasks: ['compass:dev'] }, /* Changes in theme dir rebuild sphinx */ sphinx: { files: ['sphinx_rtd_theme/**/*', 'demo_docs/**/*.rst'], tasks: ['clean:build','exec:build_sphinx'] }, /* live-reload the demo_docs if sphinx re-builds */ livereload: { files: ['demo_docs/build/**/*'], options: { livereload: true } } } }); grunt.loadNpmTasks('grunt-exec'); grunt.loadNpmTasks('grunt-contrib-connect'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-compass'); grunt.loadNpmTasks('grunt-contrib-clean'); grunt.loadNpmTasks('grunt-open'); grunt.registerTask('default', ['exec:bower_update','clean:build','compass:dev','exec:build_sphinx','connect','open','watch']); grunt.registerTask('build', ['exec:bower_update','clean:build','compass:build','exec:build_sphinx']); }