You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
4.1 KiB
122 lines
4.1 KiB
var gulp = require('gulp');
|
|
var concat = require('gulp-concat');
|
|
var uglify = require('gulp-uglify');
|
|
var minifycss = require('gulp-minify-css');
|
|
var sass = require('gulp-sass');
|
|
var theme = {};
|
|
theme.global = {};
|
|
theme.desktop = {};
|
|
theme.mobile = {};
|
|
theme.admin = {};
|
|
|
|
// PC용 테마용 파일들
|
|
theme.desktop.title = "desktop";
|
|
theme.desktop.css = [
|
|
"node_modules/bootstrap/dist/css/bootstrap.css",
|
|
"_src/desktop/scss/desktop.scss"
|
|
];
|
|
theme.desktop.js = [
|
|
"node_modules/bootstrap/dist/js/bootstrap.js",
|
|
];
|
|
|
|
// 모바일 테마용 파일들
|
|
theme.mobile.title = "mobile";
|
|
theme.mobile.css = [
|
|
];
|
|
theme.mobile.js = [
|
|
];
|
|
|
|
// 관리자 페이지용 파일들
|
|
theme.admin.title = "admin";
|
|
theme.admin.css = [
|
|
"_src/plugins/jquery-ui-1.12.1.custom/jquery-ui.css",
|
|
"node_modules/bootstrap/dist/css/bootstrap.css",
|
|
"_src/plugins/fontawesome5/fontawesome.scss",
|
|
"_src/plugins/fontawesome5/fa-regular.scss",
|
|
"node_modules/ax5ui-modal/dist/ax5modal.css",
|
|
"node_modules/ax5ui-mask/dist/ax5mask.css",
|
|
"_src/admin/scss/admin.scss"
|
|
];
|
|
theme.admin.js = [
|
|
"node_modules/bootstrap/dist/js/bootstrap.js",
|
|
"node_modules/ax5core/dist/ax5core.js",
|
|
"node_modules/ax5ui-mask/dist/ax5mask.js",
|
|
"node_modules/ax5ui-modal/dist/ax5modal.js",
|
|
"node_modules/nicescroll/dist/jquery.nicescroll.js",
|
|
"_src/plugins/jquery-ui-1.12.1.custom/jquery-ui.js",
|
|
"_src/admin/js/jquery.formatter.js",
|
|
"_src/admin/js/jquery.tmpl.js",
|
|
"_src/admin/js/admin.js",
|
|
"_src/admin/js/modules/board.js",
|
|
"_src/admin/js/modules/faq.js",
|
|
"_src/admin/js/modules/member.js",
|
|
];
|
|
|
|
// 공용으로 로드할 파일들
|
|
theme.global.css = [
|
|
"node_modules/reset-css/reset.css",
|
|
"_src/common/css/global.css",
|
|
"_src/common/css/toastr.css",
|
|
];
|
|
theme.global.js = [
|
|
"node_modules/jquery/dist/jquery.js",
|
|
"_src/common/js/jquery.blockUI.js",
|
|
"_src/common/js/jquery.cookie.js",
|
|
"_src/common/js/toastr.js",
|
|
"_src/common/js/global.js",
|
|
"_src/common/js/member.js",
|
|
"_src/common/js/board.js",
|
|
];
|
|
|
|
|
|
gulp.task('minify-desktop-css', function () {
|
|
return gulp.src( theme.global.css.concat(theme.desktop.css))
|
|
.pipe(sass({outputStyle: 'compact'}))
|
|
.pipe(concat( theme.desktop.title + '.min.css')) //병합하고
|
|
.pipe(minifycss().on('error', function(e){console.log(e);}))
|
|
.pipe(gulp.dest('public_html/assets/css'));
|
|
});
|
|
|
|
// Javascript 합치기 실행
|
|
gulp.task('minify-desktop-js', [], function(){
|
|
return gulp.src( theme.global.js.concat(theme.desktop.js))
|
|
.pipe(uglify())
|
|
.pipe(concat( theme.desktop.title + '.min.js'))
|
|
.pipe(gulp.dest('public_html/assets/js'));
|
|
});
|
|
|
|
gulp.task('minify-mobile-css', function () {
|
|
return gulp.src( theme.global.css.concat(theme.mobile.css))
|
|
.pipe(sass({outputStyle: 'compact'}))
|
|
.pipe(concat( theme.mobile.title + '.min.css')) //병합하고
|
|
.pipe(minifycss().on('error', function(e){console.log(e);}))
|
|
.pipe(gulp.dest('public_html/assets/css'));
|
|
});
|
|
|
|
gulp.task('minify-mobile-js', [], function(){
|
|
return gulp.src( theme.global.js.concat(theme.mobile.js))
|
|
.pipe(uglify())
|
|
.pipe(concat( theme.mobile.title + '.min.js'))
|
|
.pipe(gulp.dest('public_html/assets/js'));
|
|
});
|
|
|
|
|
|
gulp.task('minify-admin-css', function () {
|
|
return gulp.src( theme.global.css.concat(theme.admin.css))
|
|
.pipe(sass({outputStyle: 'compact'}))
|
|
.pipe(concat( theme.admin.title + '.min.css')) //병합하고
|
|
.pipe(minifycss().on('error', function(e){console.log(e);}))
|
|
.pipe(gulp.dest('public_html/assets/css'));
|
|
});
|
|
|
|
gulp.task('minify-admin-js', [], function(){
|
|
return gulp.src( theme.global.js.concat( theme.admin.js))
|
|
.pipe(uglify())
|
|
.pipe(concat( theme.admin.title + '.min.js'))
|
|
.pipe(gulp.dest('public_html/assets/js'));
|
|
});
|
|
|
|
gulp.task('mobile-minify', ['minify-mobile-js', 'minify-mobile-css']);
|
|
gulp.task('desktop-minify', ['minify-desktop-js', 'minify-desktop-css']);
|
|
gulp.task('admin-minify', ['minify-admin-js', 'minify-admin-css']);
|
|
gulp.task('default', ['minify-desktop-js', 'minify-desktop-css', 'minify-mobile-js', 'minify-mobile-css','minify-admin-js', 'minify-admin-css']);
|