diff options
Diffstat (limited to 'gulpfile.js')
-rw-r--r-- | gulpfile.js | 39 |
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"); }); |