reveal-js-base-theme/Gruntfile.js

106 lines
2.1 KiB
JavaScript
Raw Normal View History

2012-11-11 16:01:05 +01:00
/* global module:false */
module.exports = function(grunt) {
// Project configuration
grunt.initConfig({
2013-02-27 08:26:24 +01:00
pkg: grunt.file.readJSON('package.json'),
2012-11-11 16:01:05 +01:00
meta: {
2013-02-27 19:20:24 +01:00
banner:
2012-11-11 16:01:05 +01:00
'/*!\n' +
2013-02-27 08:26:24 +01:00
' * reveal.js <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd, HH:MM") %>)\n' +
2012-11-11 16:01:05 +01:00
' * http://lab.hakim.se/reveal-js\n' +
' * MIT licensed\n' +
' *\n' +
2013-02-06 02:08:59 +01:00
' * Copyright (C) 2013 Hakim El Hattab, http://hakim.se\n' +
2012-11-11 16:01:05 +01:00
' */'
},
2013-02-27 08:26:24 +01:00
jshint: {
files: [ 'Gruntfile.js', 'js/reveal.js' ]
2012-11-11 16:01:05 +01:00
},
// Tests will be added soon
qunit: {
files: [ 'test/**/*.html' ]
},
2013-02-27 08:26:24 +01:00
uglify: {
2013-02-27 19:20:24 +01:00
options: {
banner: '<%= meta.banner %>\n'
},
build: {
src: 'js/reveal.js',
dest: 'js/reveal.min.js'
}
2012-11-11 16:01:05 +01:00
},
2013-02-27 08:26:24 +01:00
cssmin: {
2012-11-11 16:01:05 +01:00
compress: {
files: {
2013-02-27 08:26:24 +01:00
'css/reveal.min.css': [ 'css/reveal.css' ]
2012-11-11 16:01:05 +01:00
}
}
},
2013-03-04 22:34:47 +01: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',
'css/theme/sky.css': 'css/theme/source/sky.scss'
}
},
},
2012-11-11 16:01:05 +01: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,
module: false,
console: false
2012-11-11 16:01:05 +01:00
}
},
watch: {
2013-03-04 22:34:47 +01: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 16:01:05 +01:00
}
});
2013-02-03 17:27:28 +01:00
2012-11-11 16:01:05 +01:00
// Dependencies
2013-02-27 08:26:24 +01:00
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
grunt.loadNpmTasks( 'grunt-contrib-cssmin' );
grunt.loadNpmTasks( 'grunt-contrib-uglify' );
grunt.loadNpmTasks( 'grunt-contrib-watch' );
2013-03-04 22:34:47 +01:00
grunt.loadNpmTasks( 'grunt-contrib-sass' );
2012-11-11 16:01:05 +01:00
// Default task
2013-02-27 08:26:24 +01:00
grunt.registerTask( 'default', [ 'jshint', 'cssmin', 'uglify' ] );
2012-11-11 16:01:05 +01:00
2013-03-04 22:34:47 +01:00
// Theme task
grunt.registerTask( 'themes', [ 'sass' ] );
2012-11-11 16:01:05 +01:00
};