Skip to content

Instantly share code, notes, and snippets.

@dstyle0210
Last active July 11, 2016 05:59
Show Gist options
  • Select an option

  • Save dstyle0210/3994493ca9718a006801b9dbba25b80f to your computer and use it in GitHub Desktop.

Select an option

Save dstyle0210/3994493ca9718a006801b9dbba25b80f to your computer and use it in GitHub Desktop.
마봉아빠's Gulp Setting
{
"remove-empty-rulesets": true,
"always-semicolon": true,
"quotes": "double",
"color-case": "lower",
"exclude": [
".git/**",
"node_modules/**",
"bower_components/**"
],
"sort-order": [ [
"display",
"visibility",
"position",
"top",
"right",
"bottom",
"left",
"z-index",
"-webkit-flex-direction",
"-moz-flex-direction",
"-ms-flex-direction",
"-o-flex-direction",
"flex-direction",
"-webkit-flex-order",
"-moz-flex-order",
"-ms-flex-order",
"-o-flex-order",
"flex-order",
"-webkit-flex-pack",
"-moz-flex-pack",
"-ms-flex-pack",
"-o-flex-pack",
"flex-pack",
"float",
"clear",
"-webkit-flex-align",
"-moz-flex-align",
"-ms-flex-align",
"-o-flex-align",
"flex-align",
"clip",
"-webkit-box-sizing",
"-moz-box-sizing",
"box-sizing",
"margin",
"margin-top",
"margin-right",
"margin-bottom",
"margin-left",
"padding",
"padding-top",
"padding-right",
"padding-bottom",
"padding-left",
"min-width",
"min-height",
"max-width",
"max-height",
"width",
"height",
"overflow",
"-ms-overflow-x",
"-ms-overflow-y",
"overflow-x",
"overflow-y",
"-webkit-overflow-scrolling",
"outline",
"outline-width",
"outline-style",
"outline-color",
"outline-offset",
"border",
"border-spacing",
"border-collapse",
"border-width",
"border-style",
"border-color",
"border-top",
"border-top-width",
"border-top-style",
"border-top-color",
"border-right",
"border-right-width",
"border-right-style",
"border-right-color",
"border-bottom",
"border-bottom-width",
"border-bottom-style",
"border-bottom-color",
"border-left",
"border-left-width",
"border-left-style",
"border-left-color",
"-webkit-border-radius",
"-moz-border-radius",
"border-radius",
"-webkit-border-top-left-radius",
"-moz-border-radius-topleft",
"border-top-left-radius",
"-webkit-border-top-right-radius",
"-moz-border-radius-topright",
"border-top-right-radius",
"-webkit-border-bottom-right-radius",
"-moz-border-radius-bottomright",
"border-bottom-right-radius",
"-webkit-border-bottom-left-radius",
"-moz-border-radius-bottomleft",
"border-bottom-left-radius",
"-webkit-border-image",
"-moz-border-image",
"-o-border-image",
"border-image",
"-webkit-border-image-source",
"-moz-border-image-source",
"-o-border-image-source",
"border-image-source",
"-webkit-border-image-slice",
"-moz-border-image-slice",
"-o-border-image-slice",
"border-image-slice",
"-webkit-border-image-width",
"-moz-border-image-width",
"-o-border-image-width",
"border-image-width",
"-webkit-border-image-outset",
"-moz-border-image-outset",
"-o-border-image-outset",
"border-image-outset",
"-webkit-border-image-repeat",
"-moz-border-image-repeat",
"-o-border-image-repeat",
"border-image-repeat",
"-webkit-border-top-image",
"-moz-border-top-image",
"-o-border-top-image",
"border-top-image",
"-webkit-border-right-image",
"-moz-border-right-image",
"-o-border-right-image",
"border-right-image",
"-webkit-border-bottom-image",
"-moz-border-bottom-image",
"-o-border-bottom-image",
"border-bottom-image",
"-webkit-border-left-image",
"-moz-border-left-image",
"-o-border-left-image",
"border-left-image",
"-webkit-border-corner-image",
"-moz-border-corner-image",
"-o-border-corner-image",
"border-corner-image",
"-webkit-border-top-left-image",
"-moz-border-top-left-image",
"-o-border-top-left-image",
"border-top-left-image",
"-webkit-border-top-right-image",
"-moz-border-top-right-image",
"-o-border-top-right-image",
"border-top-right-image",
"-webkit-border-bottom-right-image",
"-moz-border-bottom-right-image",
"-o-border-bottom-right-image",
"border-bottom-right-image",
"-webkit-border-bottom-left-image",
"-moz-border-bottom-left-image",
"-o-border-bottom-left-image",
"border-bottom-left-image",
"background",
"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
"background-color",
"background-image",
"background-attachment",
"background-position",
"-ms-background-position-x",
"-ms-background-position-y",
"background-position-x",
"background-position-y",
"-webkit-background-clip",
"-moz-background-clip",
"background-clip",
"background-origin",
"-webkit-background-size",
"-moz-background-size",
"-o-background-size",
"background-size",
"background-repeat",
"box-decoration-break",
"-webkit-box-shadow",
"-moz-box-shadow",
"box-shadow",
"table-layout",
"caption-side",
"empty-cells",
"list-style",
"list-style-position",
"list-style-type",
"list-style-image",
"quotes",
"content",
"counter-increment",
"counter-reset",
"-ms-writing-mode",
"vertical-align",
"text-align",
"-webkit-text-align-last",
"-moz-text-align-last",
"-ms-text-align-last",
"text-align-last",
"text-decoration",
"text-emphasis",
"text-emphasis-position",
"text-emphasis-style",
"text-emphasis-color",
"text-indent",
"-ms-text-justify",
"text-justify",
"text-outline",
"text-transform",
"text-wrap",
"-ms-text-overflow",
"text-overflow",
"text-overflow-ellipsis",
"text-overflow-mode",
"text-shadow",
"white-space",
"word-spacing",
"-ms-word-wrap",
"word-wrap",
"-ms-word-break",
"word-break",
"-moz-tab-size",
"-o-tab-size",
"tab-size",
"-webkit-hyphens",
"-moz-hyphens",
"hyphens",
"letter-spacing",
"font",
"font-weight",
"font-style",
"font-variant",
"font-size-adjust",
"font-stretch",
"font-size",
"font-family",
"color",
"src",
"line-height",
"opacity",
"-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
"-ms-interpolation-mode",
"-webkit-filter",
"-ms-filter",
"filter",
"resize",
"cursor",
"nav-index",
"nav-up",
"nav-right",
"nav-down",
"nav-left",
"-webkit-transition",
"-moz-transition",
"-ms-transition",
"-o-transition",
"transition",
"-webkit-transition-delay",
"-moz-transition-delay",
"-ms-transition-delay",
"-o-transition-delay",
"transition-delay",
"-webkit-transition-timing-function",
"-moz-transition-timing-function",
"-ms-transition-timing-function",
"-o-transition-timing-function",
"transition-timing-function",
"-webkit-transition-duration",
"-moz-transition-duration",
"-ms-transition-duration",
"-o-transition-duration",
"transition-duration",
"-webkit-transition-property",
"-moz-transition-property",
"-ms-transition-property",
"-o-transition-property",
"transition-property",
"-webkit-transform",
"-moz-transform",
"-ms-transform",
"-o-transform",
"transform",
"-webkit-transform-origin",
"-moz-transform-origin",
"-ms-transform-origin",
"-o-transform-origin",
"transform-origin",
"-webkit-animation",
"-moz-animation",
"-ms-animation",
"-o-animation",
"animation",
"-webkit-animation-name",
"-moz-animation-name",
"-ms-animation-name",
"-o-animation-name",
"animation-name",
"-webkit-animation-duration",
"-moz-animation-duration",
"-ms-animation-duration",
"-o-animation-duration",
"animation-duration",
"-webkit-animation-play-state",
"-moz-animation-play-state",
"-ms-animation-play-state",
"-o-animation-play-state",
"animation-play-state",
"-webkit-animation-timing-function",
"-moz-animation-timing-function",
"-ms-animation-timing-function",
"-o-animation-timing-function",
"animation-timing-function",
"-webkit-animation-delay",
"-moz-animation-delay",
"-ms-animation-delay",
"-o-animation-delay",
"animation-delay",
"-webkit-animation-iteration-count",
"-moz-animation-iteration-count",
"-ms-animation-iteration-count",
"-o-animation-iteration-count",
"animation-iteration-count",
"-webkit-animation-direction",
"-moz-animation-direction",
"-ms-animation-direction",
"-o-animation-direction",
"animation-direction",
"pointer-events",
"unicode-bidi",
"direction",
"-webkit-columns",
"-moz-columns",
"columns",
"-webkit-column-span",
"-moz-column-span",
"column-span",
"-webkit-column-width",
"-moz-column-width",
"column-width",
"-webkit-column-count",
"-moz-column-count",
"column-count",
"-webkit-column-fill",
"-moz-column-fill",
"column-fill",
"-webkit-column-gap",
"-moz-column-gap",
"column-gap",
"-webkit-column-rule",
"-moz-column-rule",
"column-rule",
"-webkit-column-rule-width",
"-moz-column-rule-width",
"column-rule-width",
"-webkit-column-rule-style",
"-moz-column-rule-style",
"column-rule-style",
"-webkit-column-rule-color",
"-moz-column-rule-color",
"column-rule-color",
"break-before",
"break-inside",
"break-after",
"page-break-before",
"page-break-inside",
"page-break-after",
"orphans",
"widows",
"-ms-zoom",
"zoom",
"max-zoom",
"min-zoom",
"user-zoom",
"orientation"
] ]
}
/**
* Gulp Setting v0.0.1
* @ahther 디스타일(마봉아빠 , dstyle0210@gmail.com)
* @url : https://dstyle0210.github.io/gulp-setting/
*/
'use strict';
var gulp = require('gulp');
var path = require('path');
var sass = require('gulp-sass');
var less = require('gulp-less');
var concat = require('gulp-concat');
var csso = require('gulp-csso');
var csscomb = require('gulp-csscomb');
var insert = require('gulp-insert');
var runSequence = require('run-sequence');
var folders = require('gulp-folders');
// 현재 안씀
var replace = require('gulp-replace');
// 환경설정
var srcPath = {
root:"./src",
css:"./src/css",
scss:"./src/scss",
less:"./src/less",
};
var distPath = {
root:"./dist",
css:"./dist/css"
}
// 메소드 만들기
function getFolder(file){
return path.parse( path.parse(file.path).dir ).base;
};
function getTimeStamp() {
var now = new Date();
return "["+(now.getHours() + ':' +((now.getMinutes() < 10)? ("0" + now.getMinutes()): (now.getMinutes())) + ':' +((now.getSeconds() < 10)? ("0" + now.getSeconds()): (now.getSeconds())))+"]";
}
/*! Default */
gulp.task("default",function(callback){
runSequence("build","watch",callback);
});
gulp.task("dist",function(callback){
runSequence("css:dist",callback);
});
/*! 중복 pipe */
function pipeLineScss(gulpFiles){
return gulpFiles.pipe(sass({indentType:"tab",indentWidth:1}).on('error', sass.logError))
.pipe(csscomb())
.pipe(gulp.dest(srcPath.css));
};
function pipeLineLess(gulpFiles){
return gulpFiles.pipe(less())
.pipe(csscomb())
.pipe(gulp.dest(srcPath.css));
};
function pipeLineConcatCSS(gulpFiles,folderName){
return gulpFiles.pipe(concat(folderName))
.pipe(insert.prepend('@charset "UTF-8";\n'))
.pipe(gulp.dest(srcPath.css));
};
gulp.task("build",function(callback){
runSequence("scss:build","less:build","css:concat",callback);
});
gulp.task("watch",function(callback){
runSequence("scss:watch","less:watch","css:watch",callback);
});
gulp.task("scss",function(callback){
runSequence("scss:build","scss:watch",callback);
});
gulp.task("less",function(callback){
runSequence("less:build","less:watch",callback);
});
gulp.task("css",function(callback){
runSequence("css:concat","css:watch",callback);
});
gulp.task("scss:build",function(){
return pipeLineScss( gulp.src(srcPath.scss+"/**/*.scss",{"base":srcPath.scss}) );
});
gulp.task("less:build",function(){
return pipeLineLess( gulp.src(srcPath.less+"/**/*.less",{"base":srcPath.less}) );
});
gulp.task("css:concat", folders(srcPath.css, function(folder){
return pipeLineConcatCSS( gulp.src(path.join(srcPath.css, folder, '*.css')) , folder + '.css' );
}));
gulp.task("scss:watch",function(){
return gulp.watch(srcPath.scss+"/**/*.scss").on("change",function(file){
var name = path.parse(file.path).base;
pipeLineScss( gulp.src(file.path,{"base":srcPath.scss}) );
console.log(getTimeStamp() + " [sass:watch] "+name+" changed");
});
});
/*! LESS watch */
gulp.task("less:watch",function(){
return gulp.watch(srcPath.less+"/**/*.less").on("change",function(file){
var name = path.parse(file.path).base;
pipeLineLess( gulp.src(file.path,{"base":srcPath.less}) );
console.log(getTimeStamp() + " [less:watch] "+name+" changed");
});
});
/*! CSS Watch */
gulp.task("css:watch",function(){
return gulp.watch([srcPath.css+"/**/*.css","!"+srcPath.css+"/*.css"]).on("change",function(file){
var folder = getFolder(file);
pipeLineConcatCSS( gulp.src(srcPath.css+"/"+folder+"/*.css") , folder+'.css' );
console.log(getTimeStamp() + " [css:watch] "+folder+".css concated");
});
});
/*! dist : CSS */
gulp.task("css:dist",function(){
gulp.src(srcPath.css+"/*.css")
.pipe(csso())
.pipe(gulp.dest(distPath.css));
});
{
"name": "dstyleGulpSetting",
"version": "1.0.0",
"description": "",
"author": "dstyle(dstyle0210@gmail.com)",
"license": "MIT",
"dependencies": {},
"devDependencies": {
"gulp": "^3.9.1",
"gulp-concat": "^2.6.0",
"gulp-csscomb": "^3.0.7",
"gulp-csso": "^2.0.0",
"gulp-folders": "^1.1.0",
"gulp-insert": "^0.5.0",
"gulp-less": "^3.1.0",
"gulp-sass": "^2.3.2",
"run-sequence": "^1.2.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment