index.html.itex: Claim my stuff (the pyafm stack and sawsim)
[reveal.js.git] / Gruntfile.js
index bb3cc35df80f77715f64d6fc139bc4b9b3ab3273..892469a4e40641af1bf57d292a71e5c28b7373a7 100644 (file)
@@ -15,10 +15,6 @@ module.exports = function(grunt) {
                                ' */'
                },
 
-               jshint: {
-                       files: [ 'Gruntfile.js', 'js/reveal.js' ]
-               },
-
                // Tests will be added soon
                qunit: {
                        files: [ 'test/**/*.html' ]
@@ -54,7 +50,7 @@ module.exports = function(grunt) {
                                        'css/theme/moon.css': 'css/theme/source/moon.scss',
                                        'css/theme/solarized.css': 'css/theme/source/solarized.scss'
                                }
-                       },
+                       }
                },
 
                jshint: {
@@ -69,15 +65,36 @@ module.exports = function(grunt) {
                                undef: true,
                                eqnull: true,
                                browser: true,
-                               expr: true
+                               expr: true,
+                               globals: {
+                                       head: false,
+                                       module: false,
+                                       console: false
+                               }
                        },
-                       globals: {
-                               head: false,
-                               module: false,
-                               console: false
+                       files: [ 'Gruntfile.js', 'js/reveal.js' ]
+               },
+
+               connect: {
+                       server: {
+                               options: {
+                                       port: 8000,
+                                       base: '.'
+                               }
                        }
                },
 
+               zip: {
+                       'reveal-js-presentation.zip': [
+                               'index.html',
+                               'css/**',
+                               'js/**',
+                               'lib/**',
+                               'images/**',
+                               'plugin/**'
+                       ]
+               },
+
                watch: {
                        main: {
                                files: [ 'Gruntfile.js', 'js/reveal.js', 'css/reveal.css' ],
@@ -97,6 +114,8 @@ module.exports = function(grunt) {
        grunt.loadNpmTasks( 'grunt-contrib-uglify' );
        grunt.loadNpmTasks( 'grunt-contrib-watch' );
        grunt.loadNpmTasks( 'grunt-contrib-sass' );
+       grunt.loadNpmTasks( 'grunt-contrib-connect' );
+       grunt.loadNpmTasks( 'grunt-zip' );
 
        // Default task
        grunt.registerTask( 'default', [ 'jshint', 'cssmin', 'uglify' ] );
@@ -104,4 +123,10 @@ module.exports = function(grunt) {
        // Theme task
        grunt.registerTask( 'themes', [ 'sass' ] );
 
+       // Package presentation to archive
+       grunt.registerTask( 'package', [ 'default', 'zip' ] );
+
+       // Serve presentation locally
+       grunt.registerTask( 'serve', [ 'connect', 'watch' ] );
+
 };