PluginProbe
Customify / 1.4.2
Customify v1.4.2
2.10.9 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.7.1 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.6.0 1.6.0.1 1.6.5 1.7.0 1.7.1 All 77 releases
customify / gulpfile.js

gulpfile.js in Customify 1.4.2, at gulpfile.js

180 lines 4.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 var plugin = 'customify',
2 source_SCSS = 'scss/**/*.scss',
3 dest_CSS = './css/',
4
5 gulp = require('gulp'),
6 sass = require('gulp-sass'),
7 prefix = require('gulp-autoprefixer'),
8 exec = require('gulp-exec'),
9 replace = require('gulp-replace'),
10 minify = require('gulp-minify-css'),
11 concat = require('gulp-concat'),
12 notify = require('gulp-notify'),
13 beautify = require('gulp-beautify'),
14 csscomb = require('gulp-csscomb'),
15 cmq = require('gulp-combine-media-queries'),
16 fs = require('fs'),
17 rtlcss = require('rtlcss'),
18 postcss = require('gulp-postcss'),
19 del = require('del'),
20 rename = require('gulp-rename');
21
22 require('es6-promise').polyfill();
23
24 var jsFiles = [
25 './assets/js/vendor/*.js',
26 './assets/js/main/wrapper_start.js',
27 './assets/js/main/shared_vars.js',
28 './assets/js/modules/*.js',
29 './assets/js/main/main.js',
30 './assets/js/main/functions.js',
31 './assets/js/main/wrapper_end.js'
32 ];
33
34
35 var options = {
36 silent: true,
37 continueOnError: true // default: false
38 };
39
40 // styles related
41 gulp.task('styles-dev', function () {
42 return gulp.src(source_SCSS)
43 .pipe(sass({'sourcemap': false, style: 'compact'}))
44 .on('error', function (e) {
45 console.log(e.message);
46 })
47 .pipe(prefix("last 1 version", "> 1%", "ie 8", "ie 7"))
48 .pipe(gulp.dest(dest_CSS));
49 // .pipe(postcss([
50 // require('rtlcss')({ /* options */ })
51 // ]))
52 // .pipe(rename("rtl.css"))
53 // .pipe(gulp.dest('./'))
54 });
55
56 gulp.task('styles', function () {
57 return gulp.src(source_SCSS)
58 .pipe(sass({'sourcemap': true, style: 'expanded'}))
59 .pipe(prefix("last 1 version", "> 1%", "ie 8", "ie 7"))
60 .pipe(csscomb())
61 .pipe(gulp.dest(dest_CSS, {"mode": "0644"}))
62 });
63
64 gulp.task('styles-watch', function () {
65 return gulp.watch(source_SCSS, ['styles']);
66 });
67
68 // javascript stuff
69 gulp.task('scripts', function () {
70 return gulp.src(jsFiles)
71 .pipe(concat('main.js'))
72 .pipe(beautify({indentSize: 2}))
73 .pipe(gulp.dest('./assets/js/', {"mode": "0644"}));
74 });
75
76 gulp.task('scripts-watch', function () {
77 return gulp.watch(source_SCSS, ['scripts']);
78 });
79
80 gulp.task('watch', function () {
81 gulp.watch(source_SCSS, ['styles-dev']);
82 // gulp.watch('assets/js/**/*.js', ['scripts']);
83 });
84
85 // usually there is a default task for lazy people who just wanna type gulp
86 gulp.task('start', ['styles', 'scripts'], function () {
87 // silence
88 });
89
90 gulp.task('server', ['styles', 'scripts'], function () {
91 console.log('The styles and scripts have been compiled for production! Go and clear the caches!');
92 });
93
94
95 /**
96 * Create a zip archive out of the cleaned folder and delete the folder
97 */
98 gulp.task( 'zip', ['build'], function() {
99
100 return gulp.src( './' )
101 .pipe( exec( 'cd ./../; rm -rf customify.zip; cd ./build/; zip -r -X ./../customify.zip ./customify; cd ./../; rm -rf build' ) );
102
103 } );
104
105 /**
106 * Copy theme folder outside in a build folder, recreate styles before that
107 */
108 gulp.task( 'copy-folder', function() {
109
110 return gulp.src( './' )
111 .pipe( exec( 'rm -Rf ./../build; mkdir -p ./../build/customify; cp -Rf ./* ./../build/customify/' ) );
112 } );
113
114 /**
115 * Clean the folder of unneeded files and folders
116 */
117 gulp.task( 'build', ['copy-folder'], function() {
118
119 // files that should not be present in build zip
120 files_to_remove = [
121 '**/codekit-config.json',
122 'node_modules',
123 'config.rb',
124 'gulpfile.js',
125 'package.json',
126 'pxg.json',
127 'build',
128 '.idea',
129 '**/*.css.map',
130 '**/.git*',
131 '*.sublime-project',
132 '.DS_Store',
133 '**/.DS_Store',
134 '__MACOSX',
135 '**/__MACOSX',
136 '+development.rb',
137 '+production.rb',
138 'README.md'
139 ];
140
141 files_to_remove.forEach( function( e, k ) {
142 files_to_remove[k] = '../build/customify/' + e;
143 } );
144
145 return del.sync(files_to_remove, {force: true});
146 } );
147
148 // usually there is a default task for lazy people who just wanna type gulp
149 gulp.task('default', ['start'], function () {
150 // silence
151 });
152
153 /**
154 * Short commands help
155 */
156
157 gulp.task('help', function () {
158
159 var $help = '\nCommands available : \n \n' +
160 '=== General Commands === \n' +
161 'start (default)Compiles all styles and scripts and makes the theme ready to start \n' +
162 'zip Generate the zip archive \n' +
163 'build Generate the build directory with the cleaned theme \n' +
164 'help Print all commands \n' +
165 '=== Style === \n' +
166 'styles Compiles styles in production mode\n' +
167 'styles-dev Compiles styles in development mode \n' +
168 'styles-admin Compiles admin styles \n' +
169 '=== Scripts === \n' +
170 'scripts Concatenate all js scripts \n' +
171 'scripts-dev Concatenate all js scripts \n' +
172 '=== Watchers === \n' +
173 'watch Watches all js and scss files \n' +
174 'styles-watch Watch only styles\n' +
175 'scripts-watch Watch scripts only \n';
176
177 console.log($help);
178
179 });
180