-
Notifications
You must be signed in to change notification settings - Fork 0
/
gatsby-node.js
28 lines (25 loc) · 763 Bytes
/
gatsby-node.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const messages = require("./src/translations/i18n-translations.json")
const { languages, defaultLanguage } = require("./src/i18n")
exports.onCreatePage = async ({ page, actions }) => {
const { createPage, deletePage } = actions
return new Promise(resolve => {
let path = page.path
deletePage(page)
for (let language of languages) {
const isDefaultLanguage = language === defaultLanguage
if (!isDefaultLanguage) {
path = "/" + language + page.path
}
const pageForLanguage = Object.assign({}, page, {
originalPath: page.path,
path: path,
context: {
language,
messages: messages[language],
},
})
createPage(pageForLanguage)
}
resolve()
})
}