aboutsummaryrefslogtreecommitdiffstats
path: root/gulpfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'gulpfile.js')
-rw-r--r--gulpfile.js39
1 files changed, 24 insertions, 15 deletions
diff --git a/gulpfile.js b/gulpfile.js
index 865f2a56..ca7c0de5 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -41,7 +41,8 @@ paths = {
// Source paths
src: {
less: path.join(root, "docs/src/less/**/*"),
- js: path.join(root, "docs/src/js/**/*")
+ js: path.join(root, "docs/src/js/**/*"),
+ sprite: path.join(root, "docs/src/sprite/**/*")
},
// Output paths
output: path.join(root, "docs/dist/"),
@@ -55,7 +56,8 @@ paths = {
tasks = {
less: [],
sass: [],
- js: []
+ js: [],
+ sprite: []
},
// Fetch bundles from JSON
@@ -127,18 +129,22 @@ var build = {
})(key);
}
},
- sprite: function() {
+ sprite: function(bundle) {
+ var name = "sprite-" + bundle;
+ tasks.sprite.push(name);
+
// Process Icons
- gulp.task("sprite", function () {
+ gulp.task(name, function () {
return gulp
- .src(paths.plyr.src.sprite)
+ .src(paths[bundle].src.sprite)
.pipe(svgmin({
plugins: [{
removeDesc: true
}]
}))
.pipe(svgstore())
- .pipe(gulp.dest(paths.plyr.output));
+ .pipe(rename({ basename: (bundle == "plyr" ? "sprite" : bundle) }))
+ .pipe(gulp.dest(paths[bundle].output));
});
}
};
@@ -147,11 +153,12 @@ var build = {
build.js(bundles.plyr.js, "plyr");
build.less(bundles.plyr.less, "plyr");
build.sass(bundles.plyr.sass, "plyr");
-build.sprite();
+build.sprite("plyr");
// Docs files
build.less(bundles.docs.less, "docs");
build.js(bundles.docs.js, "docs");
+build.sprite("docs");
// Build all JS
gulp.task("js", function(){
@@ -168,16 +175,17 @@ gulp.task("watch", function () {
// Plyr core
gulp.watch(paths.plyr.src.js, tasks.js);
gulp.watch(paths.plyr.src.less, tasks.less);
- gulp.watch(paths.plyr.src.sprite, ["sprite"]);
+ gulp.watch(paths.plyr.src.sprite, tasks.sprite);
// Docs
gulp.watch(paths.docs.src.js, tasks.js);
gulp.watch(paths.docs.src.less, tasks.less);
+ gulp.watch(paths.docs.src.sprite, tasks.sprite);
});
// Default gulp task
gulp.task("default", function(){
- run(tasks.js, tasks.less, "sprite", "watch");
+ run(tasks.js, tasks.less, tasks.sprite, "watch");
});
// Publish a version to CDN and docs
@@ -206,7 +214,8 @@ options = {
// If aws is setup
if("cdn" in aws) {
- var cdnpath = new RegExp(aws.cdn.bucket + "\/(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)","gi");
+ var cdnpath = new RegExp(aws.cdn.bucket + "\/(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)","gi"),
+ localpath = new RegExp("(\.\.\/)?dist", "gi");
}
// Publish version to CDN bucket
@@ -235,14 +244,14 @@ gulp.task("docs", function () {
.pipe(replace(cdnpath, aws.cdn.bucket + "/" + version))
.pipe(gulp.dest(root));
- // Replace versioned files in *.html
+ // Replace local file paths with remote paths in docs
+ // e.g. "../dist/plyr.js" to "https://cdn.plyr.io/x.x.x/plyr.js"
gulp.src([paths.docs.root + "*.html"])
- .pipe(replace(cdnpath, aws.cdn.bucket + "/" + version))
- .pipe(gulp.dest(paths.docs.root))
+ .pipe(replace(localpath, "https://" + aws.cdn.bucket + "/" + version))
.pipe(gzip())
.pipe(s3(aws.docs, options.docs));
- // Upload error.html to cdn using docs options
+ // Upload error.html to cdn (as well as docs site)
gulp.src([paths.docs.root + "error.html"])
.pipe(gzip())
.pipe(s3(aws.cdn, options.docs));
@@ -263,5 +272,5 @@ gulp.task("open", function () {
// Do everything
gulp.task("publish", function () {
- run(tasks.js, tasks.less, "sprite", "cdn", "docs");
+ run(tasks.js, tasks.less, tasks.sprite, "cdn", "docs");
});