Version 1
[yaffs-website] / vendor / geedmo / yamm3 / gulpfile.js
1 var gulp        = require('gulp'),
2     jade        = require('gulp-jade'),
3     less        = require('gulp-less'),
4     path        = require('path'),
5     marked      = require('marked'), // For :markdown filter in jade
6     path        = require('path'),
7     htmlhint    = require("gulp-htmlhint");
8
9
10 // SOURCES CONFIG 
11 var source = {
12   templates: {
13     app: {
14         files : ['demo/jade/index.jade'],
15         watch: ['demo/jade/*.jade']
16     }
17   },
18   styles: {
19     app: {
20       main: ['yamm/yamm.less'],
21       dir:  'yamm',
22       watch: ['yamm/yamm.less']
23     }
24   }
25 };
26
27 // BUILD TARGET CONFIG 
28 var build = {
29   styles: './yamm',
30   templates: {
31     app: './'
32   }
33 };
34
35
36 // Error handler
37 function handleError(err) {
38   console.log(err.toString());
39   this.emit('end');
40 }
41
42
43 //---------------
44 // TASKS
45 //---------------
46
47
48
49 // LESS
50 gulp.task('yamm', function() {
51     return gulp.src(source.styles.app.main)
52         .pipe(less({
53             paths: [source.styles.app.dir]
54         }))
55         .on("error", handleError)
56         .pipe(gulp.dest(build.styles))
57         ;
58 });
59
60
61
62 // JADE
63 gulp.task('templates', function() {
64     return gulp.src(source.templates.app.files)
65         .pipe(jade({
66             pretty: true
67         }))
68         .on("error", handleError)
69         .pipe(htmlhint())
70         .pipe(htmlhint.reporter())
71         .pipe(gulp.dest(build.templates.app))
72         ;
73 });
74
75
76
77 //---------------
78 // WATCH
79 //---------------
80
81 // Watch changes
82 gulp.task('watch:demo', function() {
83   gulp.watch(source.templates.app.watch,     ['templates']);
84 });
85
86 gulp.task('watch:yamm', function() {
87   gulp.watch(source.styles.app.watch,        ['yamm']);
88 });
89
90 //---------------
91 // DEFAULT TASK
92 //---------------
93
94 gulp.task('default', [
95           'yamm',
96           'watch:yamm'
97         ]);
98
99 //---------------
100 // DEMO TASK
101 //---------------
102
103 gulp.task('demo', [
104           'yamm',
105           'templates',
106           'watch:yamm',
107           'watch:demo'
108         ]);