35 lines
844 B
JavaScript
35 lines
844 B
JavaScript
exports.createPages = async ({ actions, graphql, reporter }) => {
|
|
const { createPage } = actions
|
|
const blogPostTemplate = require.resolve(`./src/templates/mdPageTemplate.tsx`)
|
|
const result = await graphql(`
|
|
query GenerateMarkdownPages{
|
|
allMarkdownRemark(
|
|
limit: 1000
|
|
) {
|
|
edges {
|
|
node {
|
|
frontmatter {
|
|
slug
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
`)
|
|
// Handle errors
|
|
if (result.errors) {
|
|
reporter.panicOnBuild(`Error while running GraphQL query.`)
|
|
return
|
|
}
|
|
result.data.allMarkdownRemark.edges.forEach(({ node }) => {
|
|
createPage({
|
|
path: 'blog/' + node.frontmatter.slug,
|
|
component: blogPostTemplate,
|
|
context: {
|
|
// additional data can be passed via context
|
|
slug: node.frontmatter.slug,
|
|
},
|
|
})
|
|
})
|
|
}
|