index.html.itex: Claim my stuff (the pyafm stack and sawsim)
[reveal.js.git] / Gruntfile.js
index 6fa4014e048cb7892c24506f9ab6b7d3a6ff44cc..892469a4e40641af1bf57d292a71e5c28b7373a7 100644 (file)
@@ -75,6 +75,26 @@ module.exports = function(grunt) {
                        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' ],
@@ -94,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' ] );
@@ -101,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' ] );
+
 };