]>
git.agnieray.net Git - galette.git/blob - gulpfile.js
2 * Set the URL of your local instance of Galette here.
3 * Then run "gulp serve".
4 * This is for local development purpose only.
5 * Don't commit this change in the repository.
8 url
: 'http://galette.localhost/'
11 var gulp
= require('gulp'),
13 uglify
= require('gulp-uglify'),
14 cleanCSS
= require('gulp-clean-css'),
15 merge
= require('merge-stream'),
16 concat
= require('gulp-concat'),
17 replace
= require('gulp-replace'),
18 download
= require("gulp-download"),
19 browserSync
= require('browser-sync').create(),
20 build
= require('./semantic/tasks/build'),
21 buildJS
= require('./semantic/tasks/build/javascript'),
22 buildCSS
= require('./semantic/tasks/build/css'),
23 buildAssets
= require('./semantic/tasks/build/assets')
26 gulp
.task('build ui', build
);
27 gulp
.task('build-css', buildCSS
);
28 gulp
.task('build-javascript', buildJS
);
29 gulp
.task('build-assets', buildAssets
);
32 webroot
: './galette/webroot/',
34 public: './galette/webroot/assets/',
35 css
: './galette/webroot/assets/css/',
36 js
: './galette/webroot/assets/js/',
37 webfonts
: './galette/webroot/assets/webfonts/',
39 public: './galette/webroot/themes/default/',
40 css
: './galette/webroot/themes/default/ui/semantic.min.css',
41 js
: './galette/webroot/themes/default/ui/semantic.min.js',
42 images
: './galette/webroot/themes/default/images/'
46 semantic
: './semantic.json',
47 theme
: './ui/semantic/galette/**/*',
48 config
: './ui/semantic/theme*',
50 './ui/semantic/galette/*',
51 './ui/semantic/galette/**/*.*'
53 css
: './ui/css/**/*.css',
55 favicon
:'./ui/images/favicon.png',
56 logo
: './ui/images/galette.png',
57 photo
:'./ui/images/default.png'
60 src
: './semantic/src/',
61 theme
: './semantic/src/themes/galette/'
65 './node_modules/summernote/dist/summernote-lite.min.css'
68 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/codemirror.css'
73 './node_modules/js-cookie/dist/js.cookie.js',
77 './ui/js/masschanges.js'
80 './node_modules/chart.js/dist/chart.min.js',
81 './node_modules/chartjs-plugin-autocolors/dist/chartjs-plugin-autocolors.min.js',
82 './node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.min.js'
85 './node_modules/sortablejs/Sortable.min.js'
88 './node_modules/summernote/dist/summernote-lite.min.js'
91 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/codemirror.js'
94 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/mode/xml/xml.js'
96 codemirrorformatting
: [
97 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/2.36.0/formatting.js'
102 src
: './node_modules/summernote/dist/font/*',
105 src
: './node_modules/summernote/dist/lang/*.min.js',
108 src
: './node_modules/jquery/dist/jquery.min.js',
111 src
: './node_modules/twemoji-emojis/vendor/svg/*',
118 favicon
= gulp
.src(paths
.src
.favicon
)
119 .pipe(gulp
.dest(paths
.assets
.theme
.images
))
120 .pipe(browserSync
.stream());
122 logo
= gulp
.src(paths
.src
.logo
)
123 .pipe(gulp
.dest(paths
.assets
.theme
.images
))
124 .pipe(browserSync
.stream());
126 photo
= gulp
.src(paths
.src
.photo
)
127 .pipe(gulp
.dest(paths
.assets
.theme
.images
))
128 .pipe(browserSync
.stream());
130 return merge(favicon
, logo
, photo
);
134 config
= gulp
.src(paths
.src
.config
)
135 .pipe(gulp
.dest(paths
.semantic
.src
))
136 .pipe(browserSync
.stream());
138 theme
= gulp
.src(paths
.src
.files
)
139 .pipe(gulp
.dest(paths
.semantic
.theme
))
140 .pipe(browserSync
.stream());
142 return merge(config
, theme
);
148 paths
.assets
.theme
.public,
153 summernote
= gulp
.src(paths
.styles
.summernote
)
154 .pipe(replace('url(font/', 'url(../webfonts/'))
156 .pipe(concat('summernote.min.css'))
157 .pipe(gulp
.dest(paths
.assets
.css
))
158 .pipe(browserSync
.stream());
160 codemirror
= download(paths
.styles
.codemirror
)
161 .pipe(concat('codemirror.css'))
162 .pipe(gulp
.dest(paths
.assets
.css
))
163 .pipe(browserSync
.stream());
165 return merge(summernote
, codemirror
);
169 main
= gulp
.src(paths
.scripts
.main
)
170 .pipe(concat('galette-main.bundle.min.js'))
176 .pipe(gulp
.dest(paths
.assets
.js
))
177 .pipe(browserSync
.stream());
179 masschanges
= gulp
.src(paths
.scripts
.masschanges
)
180 .pipe(concat('masschanges.min.js'))
186 .pipe(gulp
.dest(paths
.assets
.js
))
187 .pipe(browserSync
.stream());
189 chartjs
= gulp
.src(paths
.scripts
.chartjs
)
190 .pipe(concat('chartjs.min.js'))
191 .pipe(gulp
.dest(paths
.assets
.js
))
192 .pipe(browserSync
.stream());
194 sortablejs
= gulp
.src(paths
.scripts
.sortablejs
)
195 .pipe(concat('sortable.min.js'))
196 .pipe(gulp
.dest(paths
.assets
.js
))
197 .pipe(browserSync
.stream());
199 summernote
= gulp
.src(paths
.scripts
.summernote
)
200 .pipe(concat('summernote.min.js'))
201 .pipe(gulp
.dest(paths
.assets
.js
))
202 .pipe(browserSync
.stream());
204 codemirror
= download(paths
.scripts
.codemirror
)
205 .pipe(concat('codemirror.js'))
206 .pipe(gulp
.dest(paths
.assets
.js
))
207 .pipe(browserSync
.stream());
209 codemirrorxml
= download(paths
.scripts
.codemirrorxml
)
210 .pipe(concat('xml.js'))
211 .pipe(gulp
.dest(paths
.assets
.js
))
212 .pipe(browserSync
.stream());
214 codemirrorformatting
= download(paths
.scripts
.codemirrorformatting
)
215 .pipe(concat('formatting.js'))
216 .pipe(gulp
.dest(paths
.assets
.js
))
217 .pipe(browserSync
.stream());
219 return merge(main
, masschanges
, chartjs
, sortablejs
, summernote
, codemirror
, codemirrorxml
, codemirrorformatting
);
222 function movefiles() {
223 extras
= paths
.extras
.map(function (extra
) {
224 return gulp
.src(extra
.src
)
225 .pipe(gulp
.dest(paths
.assets
.public + extra
.dest
))
226 .pipe(browserSync
.stream());
230 return merge(extras
);
235 proxy
: localServer
.url
238 gulp
.watch([paths
.src
.favicon
, paths
.src
.logo
, paths
.src
.photo
], gulp
.series(galette
)).on('change', browserSync
.reload
)
239 gulp
.watch([paths
.src
.semantic
], gulp
.series(theme
, 'build ui')).on('change', browserSync
.reload
)
240 gulp
.watch([paths
.src
.theme
, paths
.src
.config
], gulp
.series(theme
, 'build-css')).on('change', browserSync
.reload
)
241 gulp
.watch([paths
.src
.css
], gulp
.series(styles
)).on('change', browserSync
.reload
)
242 gulp
.watch([paths
.src
.js
], gulp
.series(scripts
)).on('change', browserSync
.reload
)
243 gulp
.watch([paths
.assets
.theme
.css
, paths
.assets
.theme
.js
, paths
.assets
.theme
.images
]).on('change', browserSync
.reload
)
246 exports
.galette
= galette
;
247 exports
.theme
= theme
;
248 exports
.clean
= clean
;
249 exports
.styles
= styles
;
250 exports
.scripts
= scripts
;
251 exports
.movefiles
= movefiles
;
252 exports
.watch
= watch
;
254 var build
= gulp
.series(theme
, clean
, styles
, scripts
, movefiles
, 'build ui', galette
);
255 exports
.default = build
;