summaryrefslogtreecommitdiffstats
path: root/gulpfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'gulpfile.js')
-rw-r--r--gulpfile.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/gulpfile.js b/gulpfile.js
new file mode 100644
index 0000000..e6eebff
--- /dev/null
+++ b/gulpfile.js
@@ -0,0 +1,54 @@
+var pipeline = require('readable-stream').pipeline;
+var gulp = require('gulp');
+var sourcemaps = require('gulp-sourcemaps');
+var babel = require('gulp-babel');
+var uglify = require('gulp-uglify');
+var sass = require('gulp-sass');
+sass.compiler = require('node-sass');
+var postcss = require('gulp-postcss');
+var autoprefixer = require('autoprefixer');
+var cssnano = require('cssnano');
+var rename = require('gulp-rename');
+
+function js() {
+ return pipeline(
+ gulp.src('assets/js/fuji.js'),
+ sourcemaps.init(),
+ babel({
+ presets: ['@babel/env'],
+ }),
+ uglify(),
+ rename({ suffix: '.min' }),
+ sourcemaps.write('.'),
+ gulp.dest('static/assets/js/')
+ );
+}
+
+function css() {
+ return pipeline(
+ gulp.src('assets/scss/fuji.scss'),
+ sourcemaps.init(),
+ sass(),
+ postcss([autoprefixer(), cssnano()]),
+ rename({ suffix: '.min' }),
+ sourcemaps.write('.'),
+ gulp.dest('static/assets/css/')
+ );
+}
+
+function dist() {
+ return pipeline(
+ gulp.src('static/assets/css/*.*'),
+ gulp.dest('dist/'),
+ gulp.src('static/assets/js/*.*'),
+ gulp.dest('dist/')
+ );
+}
+
+exports.build = gulp.series(gulp.parallel(js, css), dist);
+exports.devJs = function () {
+ return gulp.watch('assets/js/fuji.js', { delay: 500 }, gulp.parallel(js));
+};
+exports.devCss = function () {
+ return gulp.watch(['assets/scss/*.scss', 'assets/scss/*/*.scss'], { delay: 500 }, gulp.parallel(css));
+};