From eeac8871c9f07c7b8c0cb2de85a83014530f6ea9 Mon Sep 17 00:00:00 2001 From: Vit Brunner Date: Tue, 11 Nov 2014 23:18:30 +0100 Subject: [PATCH] Start abstracting away Gruntfile duplication --- Gruntfile.coffee | 50 +++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/Gruntfile.coffee b/Gruntfile.coffee index c4062ac..e37e4ee 100644 --- a/Gruntfile.coffee +++ b/Gruntfile.coffee @@ -179,30 +179,6 @@ module.exports = (grunt) -> } } - jade: { - main: { - expand: true - cwd: 'source' - src: [ '*.jade', 'partials/**/*.jade' ] - dest: 'build' - ext: '.html' - options: { - data: _.extend {}, vars, template_data - pretty: true - } - } - min: { - expand: true - cwd: 'source' - src: [ '*.jade', 'partials/**/*.jade' ] - dest: 'build-min' - ext: '.html' - options: { - data: _.extend {}, vars, template_data, { min: true } - } - } - } - qunit: { main: { options: { @@ -234,6 +210,32 @@ module.exports = (grunt) -> } } + add = (defaults, subtasks) -> + subtasks.map((item) -> [ + item[0] + _.extend { + expand: true + cwd: 'source' + dest: if /^min/.test(item[0]) then 'build-min' else 'build' + }, defaults, item[1] + ]).reduce((params, param) -> + params[param[0]] = param[1] + params + , {}) + + grunt.config 'jade', add({ + src: [ '*.jade', 'partials/**/*.jade' ] + ext: '.html' + }, [ + [ 'main', { options: { + data: _.extend {}, vars, template_data + pretty: true + }}] + [ 'min', { options: { + data: _.extend {}, vars, template_data, { min: true } + }}] + ]) + # Load tasks grunt.loadNpmTasks('grunt-contrib-coffee'); grunt.loadNpmTasks('grunt-contrib-connect');