@@ -11,7 +11,7 @@ module.exports = function(grunt) {
1111 ' * http://lab.hakim.se/reveal-js\n' +
1212 ' * MIT licensed\n' +
1313 ' *\n' +
14- ' * Copyright (C) 2014 Hakim El Hattab, http://hakim.se\n' +
14+ ' * Copyright (C) 2015 Hakim El Hattab, http://hakim.se\n' +
1515 ' */'
1616 } ,
1717
@@ -29,18 +29,17 @@ module.exports = function(grunt) {
2929 }
3030 } ,
3131
32- cssmin : {
33- compress : {
32+ sass : {
33+ core : {
3434 files : {
35- 'css/reveal.min. css' : [ 'css/reveal.css' ]
35+ 'css/reveal.css' : 'css/reveal.scss' ,
3636 }
37- }
38- } ,
39-
40- sass : {
41- main : {
37+ } ,
38+ themes : {
4239 files : {
43- 'css/theme/default.css' : 'css/theme/source/default.scss' ,
40+ 'css/theme/black.css' : 'css/theme/source/black.scss' ,
41+ 'css/theme/white.css' : 'css/theme/source/white.scss' ,
42+ 'css/theme/league.css' : 'css/theme/source/league.scss' ,
4443 'css/theme/beige.css' : 'css/theme/source/beige.scss' ,
4544 'css/theme/night.css' : 'css/theme/source/night.scss' ,
4645 'css/theme/serif.css' : 'css/theme/source/serif.scss' ,
@@ -53,6 +52,20 @@ module.exports = function(grunt) {
5352 }
5453 } ,
5554
55+ autoprefixer : {
56+ dist : {
57+ src : 'css/reveal.css'
58+ }
59+ } ,
60+
61+ cssmin : {
62+ compress : {
63+ files : {
64+ 'css/reveal.min.css' : [ 'css/reveal.css' ]
65+ }
66+ }
67+ } ,
68+
5669 jshint : {
5770 options : {
5871 curly : false ,
@@ -70,7 +83,9 @@ module.exports = function(grunt) {
7083 head : false ,
7184 module : false ,
7285 console : false ,
73- unescape : false
86+ unescape : false ,
87+ define : false ,
88+ exports : false
7489 }
7590 } ,
7691 files : [ 'Gruntfile.js' , 'js/reveal.js' ]
@@ -80,7 +95,9 @@ module.exports = function(grunt) {
8095 server : {
8196 options : {
8297 port : port ,
83- base : '.'
98+ base : '.' ,
99+ livereload : true ,
100+ open : true
84101 }
85102 }
86103 } ,
@@ -97,14 +114,24 @@ module.exports = function(grunt) {
97114 } ,
98115
99116 watch : {
100- main : {
101- files : [ 'Gruntfile.js' , 'js/reveal.js' , 'css/reveal.css' ] ,
102- tasks : 'default'
117+ options : {
118+ livereload : true
119+ } ,
120+ js : {
121+ files : [ 'Gruntfile.js' , 'js/reveal.js' ] ,
122+ tasks : 'js'
103123 } ,
104124 theme : {
105125 files : [ 'css/theme/source/*.scss' , 'css/theme/template/*.scss' ] ,
106- tasks : 'themes'
107- }
126+ tasks : 'css-themes'
127+ } ,
128+ css : {
129+ files : [ 'css/reveal.scss' ] ,
130+ tasks : 'css-core'
131+ } ,
132+ html : {
133+ files : [ 'index.html' ]
134+ }
108135 }
109136
110137 } ) ;
@@ -115,15 +142,25 @@ module.exports = function(grunt) {
115142 grunt . loadNpmTasks ( 'grunt-contrib-cssmin' ) ;
116143 grunt . loadNpmTasks ( 'grunt-contrib-uglify' ) ;
117144 grunt . loadNpmTasks ( 'grunt-contrib-watch' ) ;
118- grunt . loadNpmTasks ( 'grunt-contrib- sass' ) ;
145+ grunt . loadNpmTasks ( 'grunt-sass' ) ;
119146 grunt . loadNpmTasks ( 'grunt-contrib-connect' ) ;
147+ grunt . loadNpmTasks ( 'grunt-autoprefixer' ) ;
120148 grunt . loadNpmTasks ( 'grunt-zip' ) ;
121149
122150 // Default task
123- grunt . registerTask ( 'default' , [ 'jshint' , 'cssmin' , 'uglify' , 'qunit' ] ) ;
151+ grunt . registerTask ( 'default' , [ 'css' , 'js' ] ) ;
152+
153+ // JS task
154+ grunt . registerTask ( 'js' , [ 'jshint' , 'uglify' , 'qunit' ] ) ;
155+
156+ // Theme CSS
157+ grunt . registerTask ( 'css-themes' , [ 'sass:themes' ] ) ;
158+
159+ // Core framework CSS
160+ grunt . registerTask ( 'css-core' , [ 'sass:core' , 'autoprefixer' , 'cssmin' ] ) ;
124161
125- // Theme task
126- grunt . registerTask ( 'themes ' , [ 'sass' ] ) ;
162+ // All CSS
163+ grunt . registerTask ( 'css ' , [ 'sass' , 'autoprefixer' , 'cssmin ' ] ) ;
127164
128165 // Package presentation to archive
129166 grunt . registerTask ( 'package' , [ 'default' , 'zip' ] ) ;
0 commit comments