]>
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',
58 emojis
: './node_modules/twemoji-emojis/vendor/svg/*'
61 src
: './semantic/src/',
62 theme
: './semantic/src/themes/galette/'
66 './node_modules/summernote/dist/summernote-lite.min.css'
69 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/codemirror.css'
74 './node_modules/js-cookie/dist/js.cookie.js',
78 './ui/js/masschanges.js'
81 './node_modules/chart.js/dist/chart.umd.js',
82 './node_modules/chartjs-plugin-autocolors/dist/chartjs-plugin-autocolors.min.js',
83 './node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.min.js'
86 './node_modules/sortablejs/Sortable.min.js'
89 './node_modules/summernote/dist/summernote-lite.min.js'
92 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/codemirror.js'
95 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/mode/xml/xml.js'
97 codemirrorformatting
: [
98 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/2.36.0/formatting.js'
103 src
: './node_modules/summernote/dist/font/*',
106 src
: './node_modules/summernote/dist/lang/*.min.js',
109 src
: './node_modules/jquery/dist/jquery.min.js',
116 favicon
= gulp
.src(paths
.src
.favicon
)
117 .pipe(gulp
.dest(paths
.assets
.theme
.images
))
118 .pipe(browserSync
.stream());
120 logo
= gulp
.src(paths
.src
.logo
)
121 .pipe(gulp
.dest(paths
.assets
.theme
.images
))
122 .pipe(browserSync
.stream());
124 photo
= gulp
.src(paths
.src
.photo
)
125 .pipe(gulp
.dest(paths
.assets
.theme
.images
))
126 .pipe(browserSync
.stream());
128 return merge(favicon
, logo
, photo
);
132 config
= gulp
.src(paths
.src
.config
)
133 .pipe(gulp
.dest(paths
.semantic
.src
))
134 .pipe(browserSync
.stream());
136 theme
= gulp
.src(paths
.src
.files
)
137 .pipe(gulp
.dest(paths
.semantic
.theme
))
138 .pipe(browserSync
.stream());
140 emojis
= gulp
.src(paths
.src
.emojis
)
141 .pipe(gulp
.dest(paths
.semantic
.theme
+ 'assets/emojis'))
142 .pipe(browserSync
.stream());
144 return merge(config
, theme
, emojis
);
150 paths
.assets
.theme
.public,
155 summernote
= gulp
.src(paths
.styles
.summernote
)
156 .pipe(replace('url(font/', 'url(../webfonts/'))
158 .pipe(concat('summernote.min.css'))
159 .pipe(gulp
.dest(paths
.assets
.css
))
160 .pipe(browserSync
.stream());
162 codemirror
= download(paths
.styles
.codemirror
)
163 .pipe(concat('codemirror.css'))
164 .pipe(gulp
.dest(paths
.assets
.css
))
165 .pipe(browserSync
.stream());
167 return merge(summernote
, codemirror
);
171 main
= gulp
.src(paths
.scripts
.main
)
172 .pipe(concat('galette-main.bundle.min.js'))
178 .pipe(gulp
.dest(paths
.assets
.js
))
179 .pipe(browserSync
.stream());
181 masschanges
= gulp
.src(paths
.scripts
.masschanges
)
182 .pipe(concat('masschanges.min.js'))
188 .pipe(gulp
.dest(paths
.assets
.js
))
189 .pipe(browserSync
.stream());
191 chartjs
= gulp
.src(paths
.scripts
.chartjs
)
192 .pipe(concat('chartjs.min.js'))
193 .pipe(gulp
.dest(paths
.assets
.js
))
194 .pipe(browserSync
.stream());
196 sortablejs
= gulp
.src(paths
.scripts
.sortablejs
)
197 .pipe(concat('sortable.min.js'))
198 .pipe(gulp
.dest(paths
.assets
.js
))
199 .pipe(browserSync
.stream());
201 summernote
= gulp
.src(paths
.scripts
.summernote
)
202 .pipe(concat('summernote.min.js'))
203 .pipe(gulp
.dest(paths
.assets
.js
))
204 .pipe(browserSync
.stream());
206 codemirror
= download(paths
.scripts
.codemirror
)
207 .pipe(concat('codemirror.js'))
208 .pipe(gulp
.dest(paths
.assets
.js
))
209 .pipe(browserSync
.stream());
211 codemirrorxml
= download(paths
.scripts
.codemirrorxml
)
212 .pipe(concat('xml.js'))
213 .pipe(gulp
.dest(paths
.assets
.js
))
214 .pipe(browserSync
.stream());
216 codemirrorformatting
= download(paths
.scripts
.codemirrorformatting
)
217 .pipe(concat('formatting.js'))
218 .pipe(gulp
.dest(paths
.assets
.js
))
219 .pipe(browserSync
.stream());
221 return merge(main
, masschanges
, chartjs
, sortablejs
, summernote
, codemirror
, codemirrorxml
, codemirrorformatting
);
224 function movefiles() {
225 extras
= paths
.extras
.map(function (extra
) {
226 return gulp
.src(extra
.src
)
227 .pipe(gulp
.dest(paths
.assets
.public + extra
.dest
))
228 .pipe(browserSync
.stream());
232 return merge(extras
);
237 proxy
: localServer
.url
240 gulp
.watch([paths
.src
.favicon
, paths
.src
.logo
, paths
.src
.photo
], gulp
.series(galette
)).on('change', browserSync
.reload
)
241 gulp
.watch([paths
.src
.semantic
], gulp
.series(theme
, 'build ui')).on('change', browserSync
.reload
)
242 gulp
.watch([paths
.src
.theme
, paths
.src
.config
], gulp
.series(theme
, 'build-css')).on('change', browserSync
.reload
)
243 gulp
.watch([paths
.src
.css
], gulp
.series(styles
)).on('change', browserSync
.reload
)
244 gulp
.watch([paths
.src
.js
], gulp
.series(scripts
)).on('change', browserSync
.reload
)
245 gulp
.watch([paths
.assets
.theme
.css
, paths
.assets
.theme
.js
, paths
.assets
.theme
.images
]).on('change', browserSync
.reload
)
248 exports
.galette
= galette
;
249 exports
.theme
= theme
;
250 exports
.clean
= clean
;
251 exports
.styles
= styles
;
252 exports
.scripts
= scripts
;
253 exports
.movefiles
= movefiles
;
254 exports
.watch
= watch
;
256 var build
= gulp
.series(theme
, clean
, styles
, scripts
, movefiles
, 'build ui', galette
);
257 exports
.default = build
;