瀏覽代碼

add grunt sass theme task

Hakim El Hattab 11 年之前
父節點
當前提交
6a0ce3c5e9
共有 3 個文件被更改,包括 26 次插入27 次删除
  1. 25 2
      Gruntfile.js
  2. 0 25
      css/theme/README.md
  3. 1 0
      package.json

+ 25 - 2
Gruntfile.js

@@ -42,6 +42,19 @@ module.exports = function(grunt) {
 			}
 		},
 
+		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'
+				}
+			},
+		},
+
 		jshint: {
 			options: {
 				curly: false,
@@ -64,8 +77,14 @@ module.exports = function(grunt) {
 		},
 
 		watch: {
-			files: [ 'Gruntfile.js', 'js/reveal.js', 'css/reveal.css' ],
-			tasks: 'default'
+			main: {
+				files: [ 'Gruntfile.js', 'js/reveal.js', 'css/reveal.css' ],
+				tasks: 'default'
+			},
+			theme: {
+				files: [ 'css/theme/source/*.scss', 'css/theme/template/*.scss' ],
+				tasks: 'themes'
+			}
 		}
 
 	});
@@ -75,8 +94,12 @@ module.exports = function(grunt) {
 	grunt.loadNpmTasks( 'grunt-contrib-cssmin' );
 	grunt.loadNpmTasks( 'grunt-contrib-uglify' );
 	grunt.loadNpmTasks( 'grunt-contrib-watch' );
+	grunt.loadNpmTasks( 'grunt-contrib-sass' );
 
 	// Default task
 	grunt.registerTask( 'default', [ 'jshint', 'cssmin', 'uglify' ] );
 
+	// Theme task
+	grunt.registerTask( 'themes', [ 'sass' ] );
+
 };

+ 0 - 25
css/theme/README.md

@@ -1,25 +0,0 @@
-## Dependencies
-
-Themes are written using Sass to keep things modular and reduce the need for repeated selectors across files. Find out how to install Sass here http://sass-lang.com/, once Sass is installed run the follwing command to start monitoring the source files for changes.
-
-```
-sass --watch css/theme/source/:css/theme --style expanded
-```
-
-
-
-## Creating a Theme
-
-To create your own theme, start by duplicating any ```.scss``` file in [/css/theme/source](https://github.com/hakimel/reveal.js/blob/master/css/theme/source). Each theme does four things in the following order:
-
-1. **Include [/css/theme/template/mixins.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/mixins.scss)**  
-Shared utility functions.
-
-2. **Include [/css/theme/template/settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss)**  
-Declares a set of custom variables that the template file (step 4) expects. Can be overridden in step 3.
-
-3. **Override**  
-This is where you override the default theme. Either by specifying variables (see [settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss) for reference) or by adding full selectors with hardcoded styles.
-
-4. **Include [/css/theme/template/theme.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/theme.scss)**  
-The template theme file which will generate final CSS output based on the currently defined variables.

+ 1 - 0
package.json

@@ -29,6 +29,7 @@
     "grunt-contrib-cssmin": "~0.4.1",
     "grunt-contrib-uglify": "~0.1.1",
     "grunt-contrib-watch": "~0.2.0",
+    "grunt-contrib-sass": "~0.2.2",
     "grunt": "~0.4.0"
   }
 }