PluginProbe
Photonic Gallery & Lightbox for Flickr, SmugMug & Others / 3.37
Photonic Gallery & Lightbox for Flickr, SmugMug & Others v3.37
3.37 3.36 3.35 3.34 3.33 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.30 2.31 2.32 2.33 2.34 2.40 2.41 2.42 2.43 All 142 releases
← All changes | grunt/Gruntfile.js +100 -391 2.21 → 3.37 View file →
@@ -1,13 +1,19 @@
1 +const webpackConfig = require('./webpack.config.js');
2 +
1 3 module.exports = function(grunt) {
2 4 // Config
3 5 grunt.initConfig({
4 6 pkg: grunt.file.readJSON('package.json'),
5 7 dirs: {
6 - src: '../include/scripts/front-end/src',
7 - dest: '../include/scripts/front-end/build',
8 - no_jq_src: '../include/scripts/front-end/src-no-jq',
9 - no_jq_dest: '../include/scripts/front-end/build-no-jq',
8 + src_css: '../include/css/front-end/core',
9 + tp: '../include/ext',
10 +
11 + dest_js_base: '../include/js/front-end',
12 +
13 + dest_css_combo: '../include/css/front-end/combo',
14 + dest_css_combo_slider: '../include/css/front-end/combo-slider',
15 +
10 16 i18n_src: '..',
11 17 langs: 'languages'
12 18 },
13 19
@@ -12,366 +18,41 @@
12 18 },
13 19
14 20 vars: { },
15 21
16 - concat: {
17 - colorbox: {
22 + webpack: {
23 + myConfig: webpackConfig,
24 + },
25 +
26 + clean: {
27 + css: {
18 28 options: {
19 - process: true
29 + force: true
20 30 },
21 31 src: [
22 - '<%= dirs.src %>/core/external.js',
23 - '<%= dirs.src %>/core/jq-start.tmpl',
24 - '<%= dirs.src %>/core/core.js',
25 - '<%= dirs.src %>/lightboxes/Lightbox.js',
26 - '<%= dirs.src %>/lightboxes/Lightbox_Colorbox.js',
27 - '<%= dirs.src %>/core/layouts.js',
28 - '<%= dirs.src %>/core/jq-end.tmpl'
29 - ],
30 - dest: '<%= dirs.dest %>/photonic-colorbox.js'
32 + '<%= dirs.dest_css_combo %>',
33 + '<%= dirs.dest_css_combo_slider %>'
34 + ]
31 35 },
32 - fancybox: {
36 + js: {
33 37 options: {
34 - process: true
38 + force: true
35 39 },
36 40 src: [
37 - '<%= dirs.src %>/core/external.js',
38 - '<%= dirs.src %>/core/jq-start.tmpl',
39 - '<%= dirs.src %>/core/core.js',
40 - '<%= dirs.src %>/lightboxes/Lightbox.js',
41 - '<%= dirs.src %>/lightboxes/Lightbox_Fancybox.js',
42 - '<%= dirs.src %>/core/layouts.js',
43 - '<%= dirs.src %>/core/jq-end.tmpl'
44 - ],
45 - dest: '<%= dirs.dest %>/photonic-fancybox.js'
41 + '<%= dirs.dest_js_base %>/out/**/*.*',
42 + ]
46 43 },
47 - fancybox2: {
44 + jsLicenses: {
48 45 options: {
49 - process: true
46 + force: true
50 47 },
51 48 src: [
52 - '<%= dirs.src %>/core/external.js',
53 - '<%= dirs.src %>/core/jq-start.tmpl',
54 - '<%= dirs.src %>/core/core.js',
55 - '<%= dirs.src %>/lightboxes/Lightbox.js',
56 - '<%= dirs.src %>/lightboxes/Lightbox_Fancybox2.js',
57 - '<%= dirs.src %>/core/layouts.js',
58 - '<%= dirs.src %>/core/jq-end.tmpl'
59 - ],
60 - dest: '<%= dirs.dest %>/photonic-fancybox2.js'
49 + '<%= dirs.dest_js_base %>/module/**/*.txt',
50 + '<%= dirs.dest_js_base %>/nomodule/**/*.txt',
51 + ]
61 52 },
62 - fancybox3: {
63 - options: {
64 - process: true
65 - },
66 - src: [
67 - '<%= dirs.src %>/core/external.js',
68 - '<%= dirs.src %>/core/jq-start.tmpl',
69 - '<%= dirs.src %>/core/core.js',
70 - '<%= dirs.src %>/lightboxes/Lightbox.js',
71 - '<%= dirs.src %>/lightboxes/Lightbox_Fancybox3.js',
72 - '<%= dirs.src %>/core/layouts.js',
73 - '<%= dirs.src %>/core/jq-end.tmpl'
74 - ],
75 - dest: '<%= dirs.dest %>/photonic-fancybox3.js'
76 - },
77 - featherlight: {
78 - options: {
79 - process: true
80 - },
81 - src: [
82 - '<%= dirs.src %>/core/external.js',
83 - '<%= dirs.src %>/core/jq-start.tmpl',
84 - '<%= dirs.src %>/core/core.js',
85 - '<%= dirs.src %>/lightboxes/Lightbox.js',
86 - '<%= dirs.src %>/lightboxes/Lightbox_Featherlight.js',
87 - '<%= dirs.src %>/core/layouts.js',
88 - '<%= dirs.src %>/core/jq-end.tmpl'
89 - ],
90 - dest: '<%= dirs.dest %>/photonic-featherlight.js'
91 - },
92 -/*
93 - fluidbox: {
94 - options: {
95 - process: true
96 - },
97 - src: [
98 - '<%= dirs.src %>/core/external.js',
99 - '<%= dirs.src %>/core/jq-start.tmpl',
100 - '<%= dirs.src %>/core/core.js',
101 - '<%= dirs.src %>/lightboxes/Lightbox.js',
102 - '<%= dirs.src %>/lightboxes/Lightbox_Fluidbox.js',
103 - '<%= dirs.src %>/core/layouts.js',
104 - '<%= dirs.src %>/core/jq-end.tmpl'
105 - ],
106 - dest: '<%= dirs.dest %>/photonic-fluidbox.js'
107 - },
108 -*/
109 - galleria: {
110 - options: {
111 - process: true
112 - },
113 - src: [
114 - '<%= dirs.src %>/core/external.js',
115 - '<%= dirs.src %>/core/jq-start.tmpl',
116 - '<%= dirs.src %>/core/core.js',
117 - '<%= dirs.src %>/lightboxes/Lightbox.js',
118 - '<%= dirs.src %>/lightboxes/Lightbox_Galleria.js',
119 - '<%= dirs.src %>/core/layouts.js',
120 - '<%= dirs.src %>/core/jq-end.tmpl'
121 - ],
122 - dest: '<%= dirs.dest %>/photonic-galleria.js'
123 - },
124 - imagelightbox: {
125 - options: {
126 - process: true
127 - },
128 - src: [
129 - '<%= dirs.src %>/core/external.js',
130 - '<%= dirs.src %>/core/jq-start.tmpl',
131 - '<%= dirs.src %>/core/core.js',
132 - '<%= dirs.src %>/lightboxes/Lightbox.js',
133 - '<%= dirs.src %>/lightboxes/Lightbox_ImageLightbox.js',
134 - '<%= dirs.src %>/core/layouts.js',
135 - '<%= dirs.src %>/core/jq-end.tmpl'
136 - ],
137 - dest: '<%= dirs.dest %>/photonic-imagelightbox.js'
138 - },
139 - lightcase: {
140 - options: {
141 - process: true
142 - },
143 - src: [
144 - '<%= dirs.src %>/core/external.js',
145 - '<%= dirs.src %>/core/jq-start.tmpl',
146 - '<%= dirs.src %>/core/core.js',
147 - '<%= dirs.src %>/lightboxes/Lightbox.js',
148 - '<%= dirs.src %>/lightboxes/Lightbox_Lightcase.js',
149 - '<%= dirs.src %>/core/layouts.js',
150 - '<%= dirs.src %>/core/jq-end.tmpl'
151 - ],
152 - dest: '<%= dirs.dest %>/photonic-lightcase.js'
153 - },
154 - lightgallery: {
155 - options: {
156 - process: true
157 - },
158 - src: [
159 - '<%= dirs.src %>/core/external.js',
160 - '<%= dirs.src %>/core/jq-start.tmpl',
161 - '<%= dirs.src %>/core/core.js',
162 - '<%= dirs.src %>/lightboxes/Lightbox.js',
163 - '<%= dirs.src %>/lightboxes/Lightbox_Lightgallery.js',
164 - '<%= dirs.src %>/core/layouts.js',
165 - '<%= dirs.src %>/core/jq-end.tmpl'
166 - ],
167 - dest: '<%= dirs.dest %>/photonic-lightgallery.js'
168 - },
169 - magnific: {
170 - options: {
171 - process: true
172 - },
173 - src: [
174 - '<%= dirs.src %>/core/external.js',
175 - '<%= dirs.src %>/core/jq-start.tmpl',
176 - '<%= dirs.src %>/core/core.js',
177 - '<%= dirs.src %>/lightboxes/Lightbox.js',
178 - '<%= dirs.src %>/lightboxes/Lightbox_Magnific.js',
179 - '<%= dirs.src %>/core/layouts.js',
180 - '<%= dirs.src %>/core/jq-end.tmpl'
181 - ],
182 - dest: '<%= dirs.dest %>/photonic-magnific.js'
183 - },
184 - none: {
185 - options: {
186 - process: true
187 - },
188 - src: [
189 - '<%= dirs.src %>/core/external.js',
190 - '<%= dirs.src %>/core/jq-start.tmpl',
191 - '<%= dirs.src %>/core/core.js',
192 - '<%= dirs.src %>/core/layouts.js',
193 - '<%= dirs.src %>/core/jq-end.tmpl'
194 - ],
195 - dest: '<%= dirs.dest %>/photonic-none.js'
196 - },
197 - photoswipe: {
198 - options: {
199 - process: true
200 - },
201 - src: [
202 - '<%= dirs.src %>/core/external.js',
203 - '<%= dirs.src %>/core/jq-start.tmpl',
204 - '<%= dirs.src %>/core/core.js',
205 - '<%= dirs.src %>/lightboxes/Lightbox.js',
206 - '<%= dirs.src %>/lightboxes/Lightbox_PhotoSwipe.js',
207 - '<%= dirs.src %>/core/layouts.js',
208 - '<%= dirs.src %>/core/jq-end.tmpl'
209 - ],
210 - dest: '<%= dirs.dest %>/photonic-photoswipe.js'
211 - },
212 - prettyphoto: {
213 - options: {
214 - process: true
215 - },
216 - src: [
217 - '<%= dirs.src %>/core/external.js',
218 - '<%= dirs.src %>/core/jq-start.tmpl',
219 - '<%= dirs.src %>/core/core.js',
220 - '<%= dirs.src %>/lightboxes/Lightbox.js',
221 - '<%= dirs.src %>/lightboxes/Lightbox_PrettyPhoto.js',
222 - '<%= dirs.src %>/core/layouts.js',
223 - '<%= dirs.src %>/core/jq-end.tmpl'
224 - ],
225 - dest: '<%= dirs.dest %>/photonic-prettyphoto.js'
226 - },
227 - strip: {
228 - options: {
229 - process: true
230 - },
231 - src: [
232 - '<%= dirs.src %>/core/external.js',
233 - '<%= dirs.src %>/core/jq-start.tmpl',
234 - '<%= dirs.src %>/core/core.js',
235 - '<%= dirs.src %>/lightboxes/Lightbox.js',
236 - '<%= dirs.src %>/lightboxes/Lightbox_Strip.js',
237 - '<%= dirs.src %>/core/layouts.js',
238 - '<%= dirs.src %>/core/jq-end.tmpl'
239 - ],
240 - dest: '<%= dirs.dest %>/photonic-strip.js'
241 - },
242 - swipebox: {
243 - options: {
244 - process: true
245 - },
246 - src: [
247 - '<%= dirs.src %>/core/external.js',
248 - '<%= dirs.src %>/core/jq-start.tmpl',
249 - '<%= dirs.src %>/core/core.js',
250 - '<%= dirs.src %>/lightboxes/Lightbox.js',
251 - '<%= dirs.src %>/lightboxes/Lightbox_Swipebox.js',
252 - '<%= dirs.src %>/core/layouts.js',
253 - '<%= dirs.src %>/core/jq-end.tmpl'
254 - ],
255 - dest: '<%= dirs.dest %>/photonic-swipebox.js'
256 - },
257 - thickbox: {
258 - options: {
259 - process: true
260 - },
261 - src: [
262 - '<%= dirs.src %>/core/external.js',
263 - '<%= dirs.src %>/core/jq-start.tmpl',
264 - '<%= dirs.src %>/core/core.js',
265 - '<%= dirs.src %>/lightboxes/Lightbox.js',
266 - '<%= dirs.src %>/lightboxes/Lightbox_Thickbox.js',
267 - '<%= dirs.src %>/core/layouts.js',
268 - '<%= dirs.src %>/core/jq-end.tmpl'
269 - ],
270 - dest: '<%= dirs.dest %>/photonic-thickbox.js'
271 - },
272 -
273 - no_jq_lightgallery: {
274 - options: {
275 - process: true
276 - },
277 - src: [
278 - '<%= dirs.no_jq_src %>/core/external.js',
279 - '<%= dirs.no_jq_src %>/core/no-jq-start.tmpl',
280 - '<%= dirs.no_jq_src %>/core/util.js',
281 - '<%= dirs.no_jq_src %>/core/core.js',
282 -// '<%= dirs.no_jq_src %>/lightboxes/Lightbox.js',
283 -// '<%= dirs.no_jq_src %>/lightboxes/Lightbox_Lightgallery.js',
284 -// '<%= dirs.no_jq_src %>/core/layouts.js',
285 - '<%= dirs.no_jq_src %>/core/no-jq-end.tmpl'
286 - ],
287 - dest: '<%= dirs.no_jq_dest %>/photonic-lightgallery.js'
288 - }
289 53 },
290 54
291 - uglify: {
292 - colorbox: {
293 - files: {
294 - '<%= dirs.dest %>/photonic-colorbox.min.js' : ['<%= dirs.dest %>/photonic-colorbox.js']
295 - }
296 - },
297 - fancybox: {
298 - files: {
299 - '<%= dirs.dest %>/photonic-fancybox.min.js' : ['<%= dirs.dest %>/photonic-fancybox.js']
300 - }
301 - },
302 - fancybox2: {
303 - files: {
304 - '<%= dirs.dest %>/photonic-fancybox2.min.js' : ['<%= dirs.dest %>/photonic-fancybox2.js']
305 - }
306 - },
307 - fancybox3: {
308 - files: {
309 - '<%= dirs.dest %>/photonic-fancybox3.min.js' : ['<%= dirs.dest %>/photonic-fancybox3.js']
310 - }
311 - },
312 - featherlight: {
313 - files: {
314 - '<%= dirs.dest %>/photonic-featherlight.min.js' : ['<%= dirs.dest %>/photonic-featherlight.js']
315 - }
316 - },
317 - galleria: {
318 - files: {
319 - '<%= dirs.dest %>/photonic-galleria.min.js' : ['<%= dirs.dest %>/photonic-galleria.js']
320 - }
321 - },
322 - imagelightbox: {
323 - files: {
324 - '<%= dirs.dest %>/photonic-imagelightbox.min.js' : ['<%= dirs.dest %>/photonic-imagelightbox.js']
325 - }
326 - },
327 - lightcase: {
328 - files: {
329 - '<%= dirs.dest %>/photonic-lightcase.min.js' : ['<%= dirs.dest %>/photonic-lightcase.js']
330 - }
331 - },
332 - lightgallery: {
333 - files: {
334 - '<%= dirs.dest %>/photonic-lightgallery.min.js' : ['<%= dirs.dest %>/photonic-lightgallery.js']
335 - }
336 - },
337 - magnific: {
338 - files: {
339 - '<%= dirs.dest %>/photonic-magnific.min.js' : ['<%= dirs.dest %>/photonic-magnific.js']
340 - }
341 - },
342 - none: {
343 - files: {
344 - '<%= dirs.dest %>/photonic-none.min.js' : ['<%= dirs.dest %>/photonic-none.js']
345 - }
346 - },
347 - photoswipe: {
348 - files: {
349 - '<%= dirs.dest %>/photonic-photoswipe.min.js' : ['<%= dirs.dest %>/photonic-photoswipe.js']
350 - }
351 - },
352 - prettyphoto: {
353 - files: {
354 - '<%= dirs.dest %>/photonic-prettyphoto.min.js' : ['<%= dirs.dest %>/photonic-prettyphoto.js']
355 - }
356 - },
357 - strip: {
358 - files: {
359 - '<%= dirs.dest %>/photonic-strip.min.js' : ['<%= dirs.dest %>/photonic-strip.js']
360 - }
361 - },
362 - swipebox: {
363 - files: {
364 - '<%= dirs.dest %>/photonic-swipebox.min.js' : ['<%= dirs.dest %>/photonic-swipebox.js']
365 - }
366 - },
367 - thickbox: {
368 - files: {
369 - '<%= dirs.dest %>/photonic-thickbox.min.js' : ['<%= dirs.dest %>/photonic-thickbox.js']
370 - }
371 - }
372 - },
373 -
374 55 makepot: {
375 56 target: {
376 57 options: {
377 58 type: 'wp-plugin',
@@ -383,55 +64,83 @@
383 64 }
384 65 });
385 66
386 67 // Load plugins
387 - var cwd = process.cwd();
68 + const cwd = process.cwd();
388 69 process.chdir('../../../../..');
70 + grunt.loadNpmTasks('grunt-webpack');
71 + grunt.loadNpmTasks('grunt-contrib-clean');
389 72 grunt.loadNpmTasks('grunt-contrib-concat');
390 -// grunt.loadNpmTasks('grunt-jquery-ready');
391 - grunt.loadNpmTasks('grunt-contrib-uglify');
73 + grunt.loadNpmTasks('grunt-contrib-copy');
74 + grunt.loadNpmTasks('grunt-contrib-cssmin');
392 75 grunt.loadNpmTasks('grunt-wp-i18n');
393 76 process.chdir(cwd);
394 77
395 - // Tasks
396 - grunt.registerTask('default', [
397 - 'concat:colorbox',
398 - 'concat:fancybox',
399 - 'concat:fancybox2',
400 - 'concat:fancybox3',
401 - 'concat:featherlight',
402 -// 'concat:fluidbox',
403 - 'concat:imagelightbox',
404 - 'concat:galleria',
405 - 'concat:lightcase',
406 - 'concat:lightgallery',
407 - 'concat:magnific',
408 - 'concat:none',
409 - 'concat:photoswipe',
410 - 'concat:prettyphoto',
411 - 'concat:strip',
412 - 'concat:swipebox',
413 - 'concat:thickbox',
78 + const lightboxes = [
79 + 'BaguetteBox',
80 + 'BigPicture',
81 + 'Colorbox',
82 + 'Fancybox',
83 + 'Fancybox2',
84 + 'Fancybox3',
85 + 'Featherlight',
86 + 'GLightbox',
87 + 'ImageLightbox',
88 + 'Lightcase',
89 + 'Lightgallery',
90 + 'Magnific',
91 + 'none',
92 + 'PhotoSwipe',
93 + 'PrettyPhoto',
94 + 'Spotlight',
95 + 'Strip',
96 + 'Swipebox',
97 + 'Thickbox',
98 + 'VenoBox',
99 + ];
414 100
415 - 'concat:no_jq_lightgallery',
101 + function buildCSS() {
102 + const tasks = [];
103 + grunt.task.run([
104 + 'clean:css'
105 + ]);
416 106
417 - 'uglify:colorbox',
418 - 'uglify:fancybox',
419 - 'uglify:fancybox2',
420 - 'uglify:fancybox3',
421 - 'uglify:featherlight',
422 -// 'uglify:fluidbox',
423 - 'uglify:imagelightbox',
424 - 'uglify:galleria',
425 - 'uglify:lightcase',
426 - 'uglify:lightgallery',
427 - 'uglify:magnific',
428 - 'uglify:none',
429 - 'uglify:photoswipe',
430 - 'uglify:prettyphoto',
431 - 'uglify:strip',
432 - 'uglify:swipebox',
433 - 'uglify:thickbox',
107 + grunt.config(['cssmin', 'core'], {
108 + files: [{
109 + expand: true,
110 + cwd: '<%= dirs.src_css %>',
111 + src: ['*.css', '!*.min.css'],
112 + dest: '<%= dirs.src_css %>/',
113 + ext: '.min.css'
114 + }]
115 + });
116 + tasks.push('cssmin:core');
434 117
435 - 'makepot:target'
436 - ]);
437 -};
118 + grunt.task.run(tasks);
119 + }
120 +
121 + function buildPOT() {
122 + grunt.task.run([
123 + 'makepot:target'
124 + ]);
125 + }
126 +
127 + function buildAll() {
128 + buildJS();
129 + buildCSS();
130 + buildPOT();
131 + }
132 +
133 + function buildJS() {
134 + // First run WebPack to generate the files. This generates 2 files per library - one minified and the other unminified.
135 + grunt.task.run([
136 + 'clean:js',
137 + 'webpack',
138 + 'clean:jsLicenses',
139 + ]);
140 + }
141 +
142 + grunt.registerTask('buildAll', buildAll);
143 + grunt.registerTask('buildCSS', buildCSS);
144 + grunt.registerTask('buildPOT', buildPOT);
145 + grunt.registerTask('buildJS', buildJS);
146 +};