]> git.agnieray.net Git - galette.git/blobdiff - gulpfile.js
Bump version, update changelog
[galette.git] / gulpfile.js
index b2c999dd3dcfe6181937f9221da2f307cde843dc..0181184f154b5cf1eeeb9e0fe3a532fecf3ff7ca 100644 (file)
@@ -15,6 +15,7 @@ var gulp = require('gulp'),
   merge = require('merge-stream'),
   concat = require('gulp-concat'),
   replace = require('gulp-replace'),
+  download = require("gulp-download"),
   browserSync = require('browser-sync').create(),
   build = require('./semantic/tasks/build'),
   buildJS = require('./semantic/tasks/build/javascript'),
@@ -53,18 +54,19 @@ var paths = {
     js: './ui/js/*.js',
     favicon:'./ui/images/favicon.png',
     logo: './ui/images/galette.png',
-    photo:'./ui/images/default.png'
+    photo:'./ui/images/default.png',
+    emojis: './node_modules/twemoji-emojis/vendor/svg/*'
   },
   semantic: {
     src: './semantic/src/',
     theme: './semantic/src/themes/galette/'
   },
   styles: {
-    main: [
-      './ui/css/galette.css'
-    ],
     summernote: [
       './node_modules/summernote/dist/summernote-lite.min.css'
+    ],
+    codemirror: [
+      'https://cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/codemirror.css'
     ]
   },
   scripts: {
@@ -76,7 +78,7 @@ var paths = {
       './ui/js/masschanges.js'
     ],
     chartjs: [
-      './node_modules/chart.js/dist/chart.min.js',
+      './node_modules/chart.js/dist/chart.umd.js',
       './node_modules/chartjs-plugin-autocolors/dist/chartjs-plugin-autocolors.min.js',
       './node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.min.js'
     ],
@@ -85,16 +87,22 @@ var paths = {
     ],
     summernote: [
       './node_modules/summernote/dist/summernote-lite.min.js'
+    ],
+    codemirror: [
+      'https://cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/codemirror.js'
+    ],
+    codemirrorxml: [
+      'https://cdnjs.cloudflare.com/ajax/libs/codemirror/3.20.0/mode/xml/xml.js'
+    ],
+    codemirrorformatting: [
+      'https://cdnjs.cloudflare.com/ajax/libs/codemirror/2.36.0/formatting.js'
+    ],
+    darkreader: [
+      './node_modules/darkreader/darkreader.js'
     ]
   },
   extras: [
     {
-      src: './ui/css/galette_print.css',
-      dest: 'css/'
-    }, {
-      src: './ui/css/install.css',
-      dest: 'css/'
-    }, {
       src: './node_modules/summernote/dist/font/*',
       dest: 'webfonts/'
     }, {
@@ -132,7 +140,11 @@ function theme() {
     .pipe(gulp.dest(paths.semantic.theme))
     .pipe(browserSync.stream());
 
-  return merge(config, theme);
+  emojis = gulp.src(paths.src.emojis)
+    .pipe(gulp.dest(paths.semantic.theme + 'assets/emojis'))
+    .pipe(browserSync.stream());
+
+  return merge(config, theme, emojis);
 }
 
 function clean() {
@@ -143,12 +155,6 @@ function clean() {
 }
 
 function styles() {
-  main = gulp.src(paths.styles.main)
-    .pipe(cleanCSS())
-    .pipe(concat('galette-main.bundle.min.css'))
-    .pipe(gulp.dest(paths.assets.css))
-    .pipe(browserSync.stream());
-
   summernote = gulp.src(paths.styles.summernote)
     .pipe(replace('url(font/', 'url(../webfonts/'))
     .pipe(cleanCSS())
@@ -156,7 +162,12 @@ function styles() {
     .pipe(gulp.dest(paths.assets.css))
     .pipe(browserSync.stream());
 
-  return merge(main, summernote);
+  codemirror = download(paths.styles.codemirror)
+    .pipe(concat('codemirror.css'))
+    .pipe(gulp.dest(paths.assets.css))
+    .pipe(browserSync.stream());
+
+  return merge(summernote, codemirror);
 }
 
 function scripts() {
@@ -195,18 +206,43 @@ function scripts() {
     .pipe(gulp.dest(paths.assets.js))
     .pipe(browserSync.stream());
 
-  return merge(main, masschanges, chartjs, sortablejs, summernote);
+  codemirror = download(paths.scripts.codemirror)
+    .pipe(concat('codemirror.js'))
+    .pipe(gulp.dest(paths.assets.js))
+    .pipe(browserSync.stream());
+
+  codemirrorxml = download(paths.scripts.codemirrorxml)
+    .pipe(concat('xml.js'))
+    .pipe(gulp.dest(paths.assets.js))
+    .pipe(browserSync.stream());
+
+  codemirrorformatting = download(paths.scripts.codemirrorformatting)
+    .pipe(concat('formatting.js'))
+    .pipe(gulp.dest(paths.assets.js))
+    .pipe(browserSync.stream());
+
+  darkreader = gulp.src(paths.scripts.darkreader)
+    .pipe(concat('darkreader.min.js'))
+    .pipe(uglify({
+      output: {
+        comments: /^!/
+      }
+    }))
+    .pipe(gulp.dest(paths.assets.js))
+    .pipe(browserSync.stream());
+
+  return merge(main, masschanges, chartjs, sortablejs, summernote, codemirror, codemirrorxml, codemirrorformatting, darkreader);
 }
 
-function extras() {
-  main = paths.extras.map(function (extra) {
+function movefiles() {
+  extras = paths.extras.map(function (extra) {
     return gulp.src(extra.src)
       .pipe(gulp.dest(paths.assets.public + extra.dest))
       .pipe(browserSync.stream());
     }
   );
 
-  return merge(main);
+  return merge(extras);
 }
 
 function watch() {
@@ -227,8 +263,8 @@ exports.theme = theme;
 exports.clean = clean;
 exports.styles = styles;
 exports.scripts = scripts;
-exports.extras = extras;
+exports.movefiles = movefiles;
 exports.watch = watch;
 
-var build = gulp.series(theme, clean, styles, scripts, extras, 'build ui', galette);
+var build = gulp.series(theme, clean, styles, scripts, movefiles, 'build ui', galette);
 exports.default = build;