2012-11-11 15:01:05 +00:00
|
|
|
/* global module:false */
|
|
|
|
module.exports = function(grunt) {
|
|
|
|
|
|
|
|
// Project configuration
|
|
|
|
grunt.initConfig({
|
2013-02-27 07:26:24 +00:00
|
|
|
pkg: grunt.file.readJSON('package.json'),
|
2012-11-11 15:01:05 +00:00
|
|
|
meta: {
|
2013-02-27 18:20:24 +00:00
|
|
|
banner:
|
2012-11-11 15:01:05 +00:00
|
|
|
'/*!\n' +
|
2013-02-27 07:26:24 +00:00
|
|
|
' * reveal.js <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd, HH:MM") %>)\n' +
|
2012-11-11 15:01:05 +00:00
|
|
|
' * http://lab.hakim.se/reveal-js\n' +
|
|
|
|
' * MIT licensed\n' +
|
|
|
|
' *\n' +
|
2013-02-06 01:08:59 +00:00
|
|
|
' * Copyright (C) 2013 Hakim El Hattab, http://hakim.se\n' +
|
2012-11-11 15:01:05 +00:00
|
|
|
' */'
|
|
|
|
},
|
|
|
|
|
2013-02-27 07:26:24 +00:00
|
|
|
jshint: {
|
2013-02-27 22:03:21 +00:00
|
|
|
files: [ 'Gruntfile.js', 'js/reveal.js' ]
|
2012-11-11 15:01:05 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
// Tests will be added soon
|
|
|
|
qunit: {
|
|
|
|
files: [ 'test/**/*.html' ]
|
|
|
|
},
|
|
|
|
|
2013-02-27 07:26:24 +00:00
|
|
|
uglify: {
|
2013-02-27 18:20:24 +00:00
|
|
|
options: {
|
|
|
|
banner: '<%= meta.banner %>\n'
|
|
|
|
},
|
|
|
|
build: {
|
|
|
|
src: 'js/reveal.js',
|
|
|
|
dest: 'js/reveal.min.js'
|
|
|
|
}
|
2012-11-11 15:01:05 +00:00
|
|
|
},
|
|
|
|
|
2013-02-27 07:26:24 +00:00
|
|
|
cssmin: {
|
2012-11-11 15:01:05 +00:00
|
|
|
compress: {
|
|
|
|
files: {
|
2013-02-27 07:26:24 +00:00
|
|
|
'css/reveal.min.css': [ 'css/reveal.css' ]
|
2012-11-11 15:01:05 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2013-03-04 21:34:47 +00:00
|
|
|
sass: {
|
|
|
|
main: {
|
|
|
|
files: {
|
|
|
|
'css/theme/default.css': 'css/theme/source/default.scss',
|
|
|
|
'css/theme/beige.css': 'css/theme/source/beige.scss',
|
|
|
|
'css/theme/night.css': 'css/theme/source/night.scss',
|
|
|
|
'css/theme/serif.css': 'css/theme/source/serif.scss',
|
|
|
|
'css/theme/simple.css': 'css/theme/source/simple.scss',
|
2013-03-04 22:54:59 +00:00
|
|
|
'css/theme/sky.css': 'css/theme/source/sky.scss',
|
|
|
|
'css/theme/moon.css': 'css/theme/source/moon.scss',
|
|
|
|
'css/theme/solarized.css': 'css/theme/source/solarized.scss'
|
2013-03-04 21:34:47 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
2012-11-11 15:01:05 +00:00
|
|
|
jshint: {
|
|
|
|
options: {
|
|
|
|
curly: false,
|
|
|
|
eqeqeq: true,
|
|
|
|
immed: true,
|
|
|
|
latedef: true,
|
|
|
|
newcap: true,
|
|
|
|
noarg: true,
|
|
|
|
sub: true,
|
|
|
|
undef: true,
|
|
|
|
eqnull: true,
|
|
|
|
browser: true,
|
|
|
|
expr: true
|
|
|
|
},
|
|
|
|
globals: {
|
|
|
|
head: false,
|
2012-11-22 14:10:34 +00:00
|
|
|
module: false,
|
|
|
|
console: false
|
2012-11-11 15:01:05 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
watch: {
|
2013-03-04 21:34:47 +00:00
|
|
|
main: {
|
|
|
|
files: [ 'Gruntfile.js', 'js/reveal.js', 'css/reveal.css' ],
|
|
|
|
tasks: 'default'
|
|
|
|
},
|
|
|
|
theme: {
|
|
|
|
files: [ 'css/theme/source/*.scss', 'css/theme/template/*.scss' ],
|
|
|
|
tasks: 'themes'
|
|
|
|
}
|
2012-11-11 15:01:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
});
|
2013-02-03 16:27:28 +00:00
|
|
|
|
2012-11-11 15:01:05 +00:00
|
|
|
// Dependencies
|
2013-02-27 07:26:24 +00:00
|
|
|
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
|
|
|
|
grunt.loadNpmTasks( 'grunt-contrib-cssmin' );
|
|
|
|
grunt.loadNpmTasks( 'grunt-contrib-uglify' );
|
|
|
|
grunt.loadNpmTasks( 'grunt-contrib-watch' );
|
2013-03-04 21:34:47 +00:00
|
|
|
grunt.loadNpmTasks( 'grunt-contrib-sass' );
|
2012-11-11 15:01:05 +00:00
|
|
|
|
|
|
|
// Default task
|
2013-02-27 07:26:24 +00:00
|
|
|
grunt.registerTask( 'default', [ 'jshint', 'cssmin', 'uglify' ] );
|
2012-11-11 15:01:05 +00:00
|
|
|
|
2013-03-04 21:34:47 +00:00
|
|
|
// Theme task
|
|
|
|
grunt.registerTask( 'themes', [ 'sass' ] );
|
|
|
|
|
2012-11-11 15:01:05 +00:00
|
|
|
};
|