From 1d22c0a12d13975b4360b676b230e430e5fae787 Mon Sep 17 00:00:00 2001 From: S3Prototype Date: Fri, 12 May 2023 09:49:48 -0500 Subject: [PATCH 1/2] Update preview mode example to say draft mode --- .../.vercel/output/config.json | 0 .../functions/index.func/.vc-config.json | 0 .../output/functions/index.func/index.js | 16 ++++++++-------- .../functions/index.prerender-config.json | 0 .../functions/login.func/.vc-config.json | 0 .../output/functions/login.func/index.js | 0 .../functions/logout.func/.vc-config.json | 0 .../output/functions/logout.func/index.js | 0 build-output-api/draft-mode/README.md | 18 ++++++++++++++++++ build-output-api/preview-mode/README.md | 18 ------------------ 10 files changed, 26 insertions(+), 26 deletions(-) rename build-output-api/{preview-mode => draft-mode}/.vercel/output/config.json (100%) rename build-output-api/{preview-mode => draft-mode}/.vercel/output/functions/index.func/.vc-config.json (100%) rename build-output-api/{preview-mode => draft-mode}/.vercel/output/functions/index.func/index.js (53%) rename build-output-api/{preview-mode => draft-mode}/.vercel/output/functions/index.prerender-config.json (100%) rename build-output-api/{preview-mode => draft-mode}/.vercel/output/functions/login.func/.vc-config.json (100%) rename build-output-api/{preview-mode => draft-mode}/.vercel/output/functions/login.func/index.js (100%) rename build-output-api/{preview-mode => draft-mode}/.vercel/output/functions/logout.func/.vc-config.json (100%) rename build-output-api/{preview-mode => draft-mode}/.vercel/output/functions/logout.func/index.js (100%) create mode 100644 build-output-api/draft-mode/README.md delete mode 100644 build-output-api/preview-mode/README.md diff --git a/build-output-api/preview-mode/.vercel/output/config.json b/build-output-api/draft-mode/.vercel/output/config.json similarity index 100% rename from build-output-api/preview-mode/.vercel/output/config.json rename to build-output-api/draft-mode/.vercel/output/config.json diff --git a/build-output-api/preview-mode/.vercel/output/functions/index.func/.vc-config.json b/build-output-api/draft-mode/.vercel/output/functions/index.func/.vc-config.json similarity index 100% rename from build-output-api/preview-mode/.vercel/output/functions/index.func/.vc-config.json rename to build-output-api/draft-mode/.vercel/output/functions/index.func/.vc-config.json diff --git a/build-output-api/preview-mode/.vercel/output/functions/index.func/index.js b/build-output-api/draft-mode/.vercel/output/functions/index.func/index.js similarity index 53% rename from build-output-api/preview-mode/.vercel/output/functions/index.func/index.js rename to build-output-api/draft-mode/.vercel/output/functions/index.func/index.js index 438b8d6517..c908ea12e9 100644 --- a/build-output-api/preview-mode/.vercel/output/functions/index.func/index.js +++ b/build-output-api/draft-mode/.vercel/output/functions/index.func/index.js @@ -4,17 +4,17 @@ const bypassToken = '87734ad8259d67c3c11747d3e4e112d0' module.exports = (req, res) => { res.setHeader('Content-Type', 'text/html; charset=utf-8') - const isPreviewMode = + const isDraftMode = typeof req.headers.cookie === 'string' && req.headers.cookie.includes(`__prerender_bypass=${bypassToken}`) - const contents = isPreviewMode - ? 'Preview Mode is ENABLED. Notice how the "Server time" below gets updated every time you refresh!' - : 'Preview Mode is DISABLED. The "server time" below will only get updated once per minute.' - const enable = isPreviewMode - ? 'Deactivate Preview Mode' - : 'Enable Preview Mode' + const contents = isDraftMode + ? 'Draft Mode is ENABLED. Notice how the "Server time" below gets updated every time you refresh!' + : 'Draft Mode is DISABLED. The "server time" below will only get updated once per minute.' + const enable = isDraftMode + ? 'Deactivate Draft Mode' + : 'Enable Draft Mode' res.end(` -

Preview Mode Example

+

Draft Mode Example

${contents}

Server time: ${new Date().toISOString()}

${enable}

diff --git a/build-output-api/preview-mode/.vercel/output/functions/index.prerender-config.json b/build-output-api/draft-mode/.vercel/output/functions/index.prerender-config.json similarity index 100% rename from build-output-api/preview-mode/.vercel/output/functions/index.prerender-config.json rename to build-output-api/draft-mode/.vercel/output/functions/index.prerender-config.json diff --git a/build-output-api/preview-mode/.vercel/output/functions/login.func/.vc-config.json b/build-output-api/draft-mode/.vercel/output/functions/login.func/.vc-config.json similarity index 100% rename from build-output-api/preview-mode/.vercel/output/functions/login.func/.vc-config.json rename to build-output-api/draft-mode/.vercel/output/functions/login.func/.vc-config.json diff --git a/build-output-api/preview-mode/.vercel/output/functions/login.func/index.js b/build-output-api/draft-mode/.vercel/output/functions/login.func/index.js similarity index 100% rename from build-output-api/preview-mode/.vercel/output/functions/login.func/index.js rename to build-output-api/draft-mode/.vercel/output/functions/login.func/index.js diff --git a/build-output-api/preview-mode/.vercel/output/functions/logout.func/.vc-config.json b/build-output-api/draft-mode/.vercel/output/functions/logout.func/.vc-config.json similarity index 100% rename from build-output-api/preview-mode/.vercel/output/functions/logout.func/.vc-config.json rename to build-output-api/draft-mode/.vercel/output/functions/logout.func/.vc-config.json diff --git a/build-output-api/preview-mode/.vercel/output/functions/logout.func/index.js b/build-output-api/draft-mode/.vercel/output/functions/logout.func/index.js similarity index 100% rename from build-output-api/preview-mode/.vercel/output/functions/logout.func/index.js rename to build-output-api/draft-mode/.vercel/output/functions/logout.func/index.js diff --git a/build-output-api/draft-mode/README.md b/build-output-api/draft-mode/README.md new file mode 100644 index 0000000000..8f90dfce36 --- /dev/null +++ b/build-output-api/draft-mode/README.md @@ -0,0 +1,18 @@ +# Draft Mode + +## Build Output API + +This Prebuilt Deployment example demonstrates how to implement "Draft Mode" when using the [Build Output API](https://vercel.com/docs/build-output-api/v3#features/draft-mode). + +### Demo + +https://build-output-api-preview-mode.vercel.sh + +### How it Works + +When using Prerender Functions, you may want to implement "Draft Mode" which would allow you to bypass the caching +aspect of prerender functions, i.e. while writing draft blog posts before they are ready to be published. + +To implement this, the `bypassToken` of the [`.prerender-config.json`](./.vercel/output/functions/index.prerender-config.json) file should be set to a randomized string that you generate at build-time. This string should not be exposed to users / the client-side, except under authenticated circumstances. + +To enable "Draft Mode", a cookie with the name `__prerender_bypass` needs to be set (i.e. by a Serverless Function) with the value of the `bypassToken`. When the Prerender Function endpoint is accessed while the cookie is set, then "Draft Mode" will be activated, bypassing any caching that Vercel would normally provide when not in Draft Mode. diff --git a/build-output-api/preview-mode/README.md b/build-output-api/preview-mode/README.md deleted file mode 100644 index 5f2f04fa47..0000000000 --- a/build-output-api/preview-mode/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Preview Mode - -## Build Output API - -This Prebuilt Deployment example demonstrates how to implement "Preview Mode" when using the [Build Output API](https://vercel.com/docs/build-output-api/v3#features/preview-mode). - -### Demo - -https://build-output-api-preview-mode.vercel.sh - -### How it Works - -When using Prerender Functions, you may want to implement "Preview Mode" which would allow you to bypass the caching -aspect of prerender functions, i.e. while writing draft blog posts before they are ready to be published. - -To implement this, the `bypassToken` of the [`.prerender-config.json`](./.vercel/output/functions/index.prerender-config.json) file should be set to a randomized string that you generate at build-time. This string should not be exposed to users / the client-side, except under authenticated circumstances. - -To enable "Preview Mode", a cookie with the name `__prerender_bypass` needs to be set (i.e. by a Serverless Function) with the value of the `bypassToken`. When the Prerender Function endpoint is accessed while the cookie is set, then "Preview Mode" will be activated, bypassing any caching that Vercel would normally provide when not in preview mode. From 9632ec0cce9c696ae1ba70c4a4e0aaad1c565e1c Mon Sep 17 00:00:00 2001 From: S3Prototype Date: Fri, 12 May 2023 11:07:45 -0500 Subject: [PATCH 2/2] Update build-output-api/draft-mode/README.md Co-authored-by: Steven --- build-output-api/draft-mode/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-output-api/draft-mode/README.md b/build-output-api/draft-mode/README.md index 8f90dfce36..a04bcf0f2a 100644 --- a/build-output-api/draft-mode/README.md +++ b/build-output-api/draft-mode/README.md @@ -6,7 +6,7 @@ This Prebuilt Deployment example demonstrates how to implement "Draft Mode" when ### Demo -https://build-output-api-preview-mode.vercel.sh +https://build-output-api-draft-mode.vercel.sh ### How it Works