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

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']);