feat: persist layout state across pages

This commit is contained in:
Jean-Philippe Sirois
2019-07-30 20:24:19 -04:00
parent a28452fbd7
commit 9d783afe87
11 changed files with 59 additions and 24 deletions
+13
View File
@@ -6,6 +6,9 @@ const fs = require("fs")
const requiredArticleFrontmatter = ["authors", "date"]
const LAYOUT_RESOURCES = "resources"
const LAYOUT_REGULAR = "regular"
let users = []
try {
users = JSON.parse(fs.readFileSync("./users.json", "utf-8"))
@@ -51,6 +54,7 @@ const createResources = async ({ createPage, graphql }) => {
component: languageResources,
context: {
file: node.relativePath,
layout: LAYOUT_RESOURCES,
},
})
})
@@ -84,6 +88,15 @@ exports.onCreateNode = async ({ node, getNode, actions }) => {
}
}
exports.onCreatePage = ({ page, actions }) => {
const { createPage } = actions
page.context.layout = page.path.match(/resources/)
? LAYOUT_RESOURCES
: LAYOUT_REGULAR
createPage(page)
}
exports.createPages = ({ actions, graphql }) => {
const { createPage } = actions
return createResources({ createPage, graphql })