UNPKG

counsel

Version:

the end of boilerplate. automatically bake structure, opinions, and business rules into projects

50 lines (46 loc) 1.15 kB
/** * Implement Gatsby's Node APIs in this file. * * See: https://www.gatsbyjs.org/docs/node-apis/ */ const path = require(`path`) const { createFilePath } = require(`gatsby-source-filesystem`) exports.onCreateNode = ({ node, getNode, actions }) => { const { createNodeField } = actions if (node.internal.type === `MarkdownRemark`) { const slug = createFilePath({ node, getNode, basePath: `pages` }) createNodeField({ node, name: `slug`, value: slug, }) } } exports.createPages = ({ graphql, actions }) => { const { createPage } = actions return graphql(` { allMarkdownRemark { edges { node { fields { slug } } } } } `).then(result => { result.data.allMarkdownRemark.edges.forEach(({ node }) => { createPage({ path: node.fields.slug, component: path.resolve(`./src/components/PageTemplate.tsx`), context: { // Data passed to context is available // in page queries as GraphQL variables. slug: node.fields.slug, }, }) }) }) }