]>
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'
101 './node_modules/darkreader/darkreader.js'
106 src
: './node_modules/summernote/dist/font/*',
109 src
: './node_modules/summernote/dist/lang/*.min.js',
112 src
: './node_modules/jquery/dist/jquery.min.js',
119 favicon
= gulp
.src(paths
.src
.favicon
)
120 .pipe(gulp
.dest(paths
.assets
.theme
.images
))
121 .pipe(browserSync
.stream());
123 logo
= gulp
.src(paths
.src
.logo
)
124 .pipe(gulp
.dest(paths
.assets
.theme
.images
))
125 .pipe(browserSync
.stream());
127 photo
= gulp
.src(paths
.src
.photo
)
128 .pipe(gulp
.dest(paths
.assets
.theme
.images
))
129 .pipe(browserSync
.stream());
131 return merge(favicon
, logo
, photo
);
135 config
= gulp
.src(paths
.src
.config
)
136 .pipe(gulp
.dest(paths
.semantic
.src
))
137 .pipe(browserSync
.stream());
139 theme
= gulp
.src(paths
.src
.files
)
140 .pipe(gulp
.dest(paths
.semantic
.theme
))
141 .pipe(browserSync
.stream());
143 emojis
= gulp
.src(paths
.src
.emojis
)
144 .pipe(gulp
.dest(paths
.semantic
.theme
+ 'assets/emojis'))
145 .pipe(browserSync
.stream());
147 return merge(config
, theme
, emojis
);
153 paths
.assets
.theme
.public,
158 summernote
= gulp
.src(paths
.styles
.summernote
)
159 .pipe(replace('url(font/', 'url(../webfonts/'))
161 .pipe(concat('summernote.min.css'))
162 .pipe(gulp
.dest(paths
.assets
.css
))
163 .pipe(browserSync
.stream());
165 codemirror
= download(paths
.styles
.codemirror
)
166 .pipe(concat('codemirror.css'))
167 .pipe(gulp
.dest(paths
.assets
.css
))
168 .pipe(browserSync
.stream());
170 return merge(summernote
, codemirror
);
174 main
= gulp
.src(paths
.scripts
.main
)
175 .pipe(concat('galette-main.bundle.min.js'))
181 .pipe(gulp
.dest(paths
.assets
.js
))
182 .pipe(browserSync
.stream());
184 masschanges
= gulp
.src(paths
.scripts
.masschanges
)
185 .pipe(concat('masschanges.min.js'))
191 .pipe(gulp
.dest(paths
.assets
.js
))
192 .pipe(browserSync
.stream());
194 chartjs
= gulp
.src(paths
.scripts
.chartjs
)
195 .pipe(concat('chartjs.min.js'))
196 .pipe(gulp
.dest(paths
.assets
.js
))
197 .pipe(browserSync
.stream());
199 sortablejs
= gulp
.src(paths
.scripts
.sortablejs
)
200 .pipe(concat('sortable.min.js'))
201 .pipe(gulp
.dest(paths
.assets
.js
))
202 .pipe(browserSync
.stream());
204 summernote
= gulp
.src(paths
.scripts
.summernote
)
205 .pipe(concat('summernote.min.js'))
206 .pipe(gulp
.dest(paths
.assets
.js
))
207 .pipe(browserSync
.stream());
209 codemirror
= download(paths
.scripts
.codemirror
)
210 .pipe(concat('codemirror.js'))
211 .pipe(gulp
.dest(paths
.assets
.js
))
212 .pipe(browserSync
.stream());
214 codemirrorxml
= download(paths
.scripts
.codemirrorxml
)
215 .pipe(concat('xml.js'))
216 .pipe(gulp
.dest(paths
.assets
.js
))
217 .pipe(browserSync
.stream());
219 codemirrorformatting
= download(paths
.scripts
.codemirrorformatting
)
220 .pipe(concat('formatting.js'))
221 .pipe(gulp
.dest(paths
.assets
.js
))
222 .pipe(browserSync
.stream());
224 darkreader
= gulp
.src(paths
.scripts
.darkreader
)
225 .pipe(concat('darkreader.min.js'))
231 .pipe(gulp
.dest(paths
.assets
.js
))
232 .pipe(browserSync
.stream());
234 return merge(main
, masschanges
, chartjs
, sortablejs
, summernote
, codemirror
, codemirrorxml
, codemirrorformatting
, darkreader
);
237 function movefiles() {
238 extras
= paths
.extras
.map(function (extra
) {
239 return gulp
.src(extra
.src
)
240 .pipe(gulp
.dest(paths
.assets
.public + extra
.dest
))
241 .pipe(browserSync
.stream());
245 return merge(extras
);
250 proxy
: localServer
.url
253 gulp
.watch([paths
.src
.favicon
, paths
.src
.logo
, paths
.src
.photo
], gulp
.series(galette
)).on('change', browserSync
.reload
)
254 gulp
.watch([paths
.src
.semantic
], gulp
.series(theme
, 'build ui')).on('change', browserSync
.reload
)
255 gulp
.watch([paths
.src
.theme
, paths
.src
.config
], gulp
.series(theme
, 'build-css')).on('change', browserSync
.reload
)
256 gulp
.watch([paths
.src
.css
], gulp
.series(styles
)).on('change', browserSync
.reload
)
257 gulp
.watch([paths
.src
.js
], gulp
.series(scripts
)).on('change', browserSync
.reload
)
258 gulp
.watch([paths
.assets
.theme
.css
, paths
.assets
.theme
.js
, paths
.assets
.theme
.images
]).on('change', browserSync
.reload
)
261 exports
.galette
= galette
;
262 exports
.theme
= theme
;
263 exports
.clean
= clean
;
264 exports
.styles
= styles
;
265 exports
.scripts
= scripts
;
266 exports
.movefiles
= movefiles
;
267 exports
.watch
= watch
;
269 var build
= gulp
.series(theme
, clean
, styles
, scripts
, movefiles
, 'build ui', galette
);
270 exports
.default = build
;