Skip to content

Commit

Permalink
Initial Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
craigsimps committed Oct 14, 2016
0 parents commit bfef08a
Show file tree
Hide file tree
Showing 36 changed files with 658 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Dependency directories
node_modules/*

# Anything by PHPStorm
.idea/**/*
98 changes: 98 additions & 0 deletions config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
var path = require('path'),
absPathToBower = path.resolve('../');

var sources = {
root: '../',
code: '../**/*.php',
images: '../develop/images/**/*',
scripts: '../develop/js/**/*.js',
styles: '../develop/scss/**/*.scss',
json: '../**/*.json'
};

module.exports = {
hologram: {
config: '../hologram_config.yml'
},
i18n: {
src: sources.code,
textdomain: 'genesis-starter-theme',
dest: '../languages/',
message: 'i18n tasks complete.',
keywords: [
'__:1,2d',
'_e:1,2d',
'_x:1,2c,3d',
'esc_html__:1,2d',
'esc_html_e:1,2d',
'esc_html_x:1,2c,3d',
'esc_attr__:1,2d',
'esc_attr_e:1,2d',
'esc_attr_x:1,2c,3d',
'_ex:1,2c,3d',
'_n:1,2,4d',
'_nx:1,2,4c,5d',
'_n_noop:1,2,3d',
'_nx_noop:1,2,3c,4d'
]
},
code: {
src: sources.code,
ignore: [''],
standard: 'WordPress',
message: 'PHP lint complete.'
},
images: {
src: sources.images,
dest: '../images/',
message: 'Images task complete.'
},
scripts: {
src: sources.scripts,
json: sources.root + '**/*.json',
files: [
'../develop/js/main.js'
],
jshint: sources.root + '.jshintrc',
jscs: sources.root + '.jscsrc',
output: 'theme.js',
filename: 'theme',
dest: '../js/',
message: 'Javascript tasks complete.'
},
server: {
url: 'sample.dev'
},
styles: {
src: sources.styles,
lint: sources.root + '.scss-lint.yml',
output: 'compressed',
dest: '../',
message: 'Stylesheet compiled & saved.'
},
dependencies: {
path: absPathToBower,
jsoutput: sources.root + '/vendor/',
jsfilename: 'vendor',
cssoutput: sources.root + '/vendor/',
cssfilename: 'vendor',
message: 'Bower components stripped and minified.'
},
watch: {
root: sources.root + '/**/*',
code: sources.code,
images: sources.images,
scripts: sources.scripts,
styles: sources.styles
},
self: {
src: './**/*.js',
jscs: '.jscsrc',
jshint: '.jshintrc',
json: [
'package.json',
'.jscsrc',
'.jshintrc'
]
}
};
12 changes: 12 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
'use strict';

var merge = require('lodash.merge');
var defaultConfig = require('./config');

module.exports = {
tasks: require('./tasks'),
config: require('./config'),
bs: require('browser-sync'),
extendTasks: require('./utils/extend-tasks'),
extendConfig: require('./utils/extend-config')
};
51 changes: 51 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"name": "gulp-wp-toolkit",
"version": "1.0.0",
"description": "Set of configurable Gulp tasks for use in my WordPress themes.",
"repository": "https://github.com/craigsimps/gulp-wp-toolkit.git",
"license": "GPL-3.0",
"main": "index.js",
"dependencies": {
"autoprefixer": "^6.3.1",
"bower-files": "^3.12.0",
"browser-sync": "^2.7.11",
"colorguard": "^1.2.0",
"css-mqpacker": "^5.0.1",
"del": "^2.2.2",
"gulp": "^3.9.1",
"gulp-bower": "^0.0.13",
"gulp-cache": "^0.4.5",
"gulp-changed": "^1.3.0",
"gulp-checktextdomain": "^1.0.2",
"gulp-concat": "^2.6.0",
"gulp-hologram": "^1.2.0",
"gulp-imagemin": "^3.0.3",
"gulp-jscs": "^4.0.0",
"gulp-jshint": "^2.0.1",
"gulp-jsonlint": "^1.1.2",
"gulp-jsvalidate": "^2.1.0",
"gulp-notify": "^2.2.0",
"gulp-phpcs": "^1.1.1",
"gulp-plumber": "^1.1.0",
"gulp-postcss": "^6.0.1",
"gulp-potomo": "^1.0.1",
"gulp-rename": "^1.2.2",
"gulp-rtlcss": "^1.0.0",
"gulp-sass": "^2.0.4",
"gulp-scss-lint": "^0.4.0",
"gulp-sequence": "^0.4.5",
"gulp-sort": "^2.0.0",
"gulp-sourcemaps": "^1.6.0",
"gulp-stats": "0.0.3",
"gulp-uglify": "^2.0.0",
"gulp-uglifycss": "^1.0.6",
"gulp-wp-pot": "^1.1.0",
"jshint": "^2.9.3",
"lodash.merge": "^4.1.0",
"node-neat": "^1.7.2",
"node-normalize-scss": "^1.3.1",
"postcss-filter-stream": "0.0.6",
"postcss-pxtorem": "^3.3.1",
"postcss-scss": "^0.1.9"
}
}
10 changes: 10 additions & 0 deletions tasks/browser-sync.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';

var bs = require('browser-sync').create('SIM01'),
config = require('../config');

module.exports = function() {
bs.init({
proxy: config.url
});
};
41 changes: 41 additions & 0 deletions tasks/build/css.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
plumber = require('gulp-plumber'),
sourcemap = require('gulp-sourcemaps'),
sass = require('gulp-sass'),
normalize = require('node-normalize-scss').includePaths,
neat = require('node-neat').includePaths,
postcss = require('gulp-postcss'),
mqpacker = require('css-mqpacker'),
autoprefix = require('autoprefixer'),
pxtorem = require('postcss-pxtorem'),
notify = require('gulp-notify');

module.exports = function () {
var postProcessors = [
mqpacker({
sort: true
}),
autoprefix(),
pxtorem({
root_value: 16,
replace: false,
media_query: true
})
];

return gulp
.src(config.styles.src)
.pipe(plumber())
.pipe(sourcemap.init())
.pipe(sass.sync({
outputStyle: config.styles.output,
includePaths: [].concat(normalize, neat)
}))
.pipe(postcss(postProcessors))
.pipe(sourcemap.write('.'))
.pipe(gulp.dest(config.styles.dest))
.pipe(notify({message: config.styles.message}));
};
19 changes: 19 additions & 0 deletions tasks/build/i18n.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
sort = require('gulp-sort'),
potgen = require('gulp-wp-pot'),
notify = require('gulp-notify');

module.exports = function () {
return gulp
.src(config.i18n.src)
.pipe(sort())
.pipe(potgen({
domain: config.i18n.textdomain,
destFile: config.i18n.textdomain + '.pot'
}))
.pipe(gulp.dest(config.i18n.dest))
.pipe(notify({message: config.i18n.message}));
};
16 changes: 16 additions & 0 deletions tasks/build/images.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
changed = require('gulp-changed'),
imagemin = require('gulp-imagemin'),
notify = require('gulp-notify');

module.exports = function () {
return gulp
.src(config.images.src)
.pipe(changed(config.images.dest))
.pipe(cache(imagemin({optimizationLevel: 3, progressive: true, interlaced: true})))
.pipe(gulp.dest(config.images.dest))
.pipe(notify({message: config.images.message}));
};
22 changes: 22 additions & 0 deletions tasks/build/js.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
sourcemap = require('gulp-sourcemaps'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename'),
notify = require('gulp-notify');

module.exports = function () {
return gulp
.src(config.scripts.files)
.pipe(sourcemap.init())
.pipe(concat(config.scripts.filename + '.js'))
.pipe(gulp.dest(config.scripts.dest))
.pipe(uglify())
.pipe(rename(config.scripts.filename + '.min.js'))
.pipe(sourcemap.write())
.pipe(gulp.dest(config.scripts.dest))
.pipe(notify({message: config.scripts.message}));
};
14 changes: 14 additions & 0 deletions tasks/build/potomo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
potomo = require('gulp-potomo');

module.exports = function () {
return gulp
.src([config.i18n.dest + '*.po'])
.pipe(potomo({
poDel: true
}))
.pipe(gulp.dest(config.i18n.dest));
};
11 changes: 11 additions & 0 deletions tasks/build/styleguide.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
hologram = require('gulp-hologram');

module.exports = function () {
return gulp
.src(config.hologram.config)
.pipe(hologram({logging:true}));
};
12 changes: 12 additions & 0 deletions tasks/clean/bowercss.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
del = require('del');

module.exports = function () {
return del([
config.dependencies.cssoutput + config.dependencies.cssfilename + '.css',
config.dependencies.cssoutput + config.dependencies.cssfilename + '.min.css'
], {force: true});
};
12 changes: 12 additions & 0 deletions tasks/clean/bowerjs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
del = require('del');

module.exports = function () {
return del([
config.dependencies.jsoutput + config.dependencies.jsfilename + '.css',
config.dependencies.jsoutput + config.dependencies.jsfilename + '.min.css'
], {force: true});
};
12 changes: 12 additions & 0 deletions tasks/clean/css.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
del = require('del');

module.exports = function () {
return del([
config.styles.dest + '*.css',
config.styles.dest + '*.css.map'
], {force: true});
};
11 changes: 11 additions & 0 deletions tasks/clean/i18n.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
del = require('del');

module.exports = function () {
return del([
config.i18n.dest + config.textdomain + '.pot'
], {force: true});
};
11 changes: 11 additions & 0 deletions tasks/clean/images.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
del = require('del');

module.exports = function () {
return del([
config.images.dest + '**/*'
], {force: true});
};
12 changes: 12 additions & 0 deletions tasks/clean/js.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
'use strict';

var gulp = require('gulp'),
config = require('../config'),
del = require('del');

module.exports = function () {
return del([
config.scripts.dest + config.scripts.filename + '.js',
config.scripts.dest + config.scripts.filename + '.min.js'
], {force: true});
};
Loading

0 comments on commit bfef08a

Please sign in to comment.