From 9ba930f6d5f175efdb4b47c58f3e1d0f2eb9819d Mon Sep 17 00:00:00 2001 From: Lucas Caro Date: Tue, 8 Dec 2020 14:30:18 -0800 Subject: [PATCH 1/3] [Strawman] not always automatically localize Strawman proposal: Allow to create pages on a single language by passing the language in the page context. --- src/gatsby-node.js | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/gatsby-node.js b/src/gatsby-node.js index 4f7af36..3242f96 100644 --- a/src/gatsby-node.js +++ b/src/gatsby-node.js @@ -90,17 +90,19 @@ exports.onCreatePage = async ({ page, actions }, pluginOptions) => { }, } } - - const newPage = generatePage(false, defaultLanguage) + + const pageLanguage = page.context.language + const newPage = generatePage(!!pageLanguage, pageLanguage || defaultLanguage) deletePage(page) createPage(newPage) - - languages.forEach(language => { - const localePage = generatePage(true, language) - const regexp = new RegExp("/404/?$") - if (regexp.test(localePage.path)) { - localePage.matchPath = `/${language}/*` - } - createPage(localePage) - }) + if (!pageLanguage) { + languages.forEach(language => { + const localePage = generatePage(true, language) + const regexp = new RegExp("/404/?$") + if (regexp.test(localePage.path)) { + localePage.matchPath = `/${language}/*` + } + createPage(localePage) + }) + } } From a50a366e25e5ff90c27442224d01b0bc37f15651 Mon Sep 17 00:00:00 2001 From: Lucas Caro Date: Thu, 28 Jan 2021 11:57:38 -0800 Subject: [PATCH 2/3] Update src/gatsby-node.js Co-authored-by: Ran Byron --- src/gatsby-node.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gatsby-node.js b/src/gatsby-node.js index 3242f96..7f2f1f4 100644 --- a/src/gatsby-node.js +++ b/src/gatsby-node.js @@ -92,7 +92,8 @@ exports.onCreatePage = async ({ page, actions }, pluginOptions) => { } const pageLanguage = page.context.language - const newPage = generatePage(!!pageLanguage, pageLanguage || defaultLanguage) +const route = !!pageLanguage && pageLanguage !== defaultLanguage +const newPage = generatePage(route, pageLanguage || defaultLanguage) deletePage(page) createPage(newPage) if (!pageLanguage) { From faf12fd4f1d1a41c1e3f0d92e59bd659b2f43d49 Mon Sep 17 00:00:00 2001 From: Lucas Caro Date: Thu, 28 Jan 2021 11:59:18 -0800 Subject: [PATCH 3/3] Fix indentantion --- src/gatsby-node.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gatsby-node.js b/src/gatsby-node.js index 7f2f1f4..c86b16f 100644 --- a/src/gatsby-node.js +++ b/src/gatsby-node.js @@ -92,10 +92,11 @@ exports.onCreatePage = async ({ page, actions }, pluginOptions) => { } const pageLanguage = page.context.language -const route = !!pageLanguage && pageLanguage !== defaultLanguage -const newPage = generatePage(route, pageLanguage || defaultLanguage) + const route = !!pageLanguage && pageLanguage !== defaultLanguage + const newPage = generatePage(route, pageLanguage || defaultLanguage) deletePage(page) createPage(newPage) + if (!pageLanguage) { languages.forEach(language => { const localePage = generatePage(true, language)