Add deploy preview context.

So we can see content from drafts and the future in deploy previews.

Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
David Calavera 2016-09-01 07:59:24 -07:00
parent 7c04c37162
commit 24819804aa
No known key found for this signature in database
GPG Key ID: DE3D437CCBECE2C4
3 changed files with 19 additions and 13 deletions

View File

@ -10,20 +10,13 @@ import webpackConfig from "./webpack.conf";
const browserSync = BrowserSync.create();
const hugoBin = "hugo";
const defaultArgs = ["-d", "../dist", "-s", "site", "-v"];
gulp.task("hugo", (cb) => {
const args = ["-d", "../dist", "-s", "site", "-v"];
return cp.spawn(hugoBin, args, {stdio: "inherit"}).on("close", (code) => {
if (code === 0) {
browserSync.reload();
} else {
browserSync.notify("Hugo build failed :(");
}
cb();
});
});
gulp.task("hugo", (cb) => buildSite(cb));
gulp.task("hugo-preview", (cb) => buildSite(cb, ["--buildDrafts", "--buildFuture"]));
gulp.task("build", ["css", "js", "hugo"]);
gulp.task("build-preview", ["css", "js", "hugo-preview"]);
gulp.task("css", () => (
gulp.src("./src/css/*.css")
@ -56,3 +49,12 @@ gulp.task("server", ["hugo", "css", "js"], () => {
gulp.watch("./src/css/**/*.css", ["css"]);
gulp.watch("./site/**/*", ["hugo"]);
});
function buildSite(cb, options) {
const args = options ? defaultArgs.concat(options) : defaultArgs;
return cp.spawn(hugoBin, args, {stdio: "inherit"}).on("close", () => {
browserSync.reload();
cb();
});
}

View File

@ -1,3 +1,6 @@
[build]
command = "npm run build"
publish = "dist"
command = "npm run build"
publish = "dist"
[context.deploy-preview]
command = "npm run build-preview"

View File

@ -7,6 +7,7 @@
"hugo": "gulp hugo",
"webpack": "gulp webpack",
"build": "gulp build",
"build-preview": "gulp build-preview",
"start": "gulp server",
"lint": "eslint src"
},