Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const path = require("path")
  2.  
  3. module.exports.onCreateNode = ({ node, actions }) => {
  4.     const { createNodeField } = actions
  5.  
  6.     if (node.internal.type === "MarkdownRemark") {
  7.         const slug = path.basename(node.fileAbsolutePath, ".md")
  8.  
  9.         createNodeField({
  10.             node,
  11.             name: "slug",
  12.             value: slug,
  13.         })
  14.     }
  15. }
  16.  
  17. module.exports.createPages = async ({ graphql, actions }) => {
  18.     const { createPage } = actions
  19.     const blogTemplate = path.resolve(
  20.         "./src/templateComponents/blogTemplate.js"
  21.     )
  22.  
  23.     const res = await graphql(`
  24.         query {
  25.             allMarkdownRemark {
  26.                 edges {
  27.                     node {
  28.                         fields {
  29.                             slug
  30.                         }
  31.                     }
  32.                 }
  33.             }
  34.         }
  35.     `)
  36.  
  37.     res.data.allMarkdownRemark.edges.forEach(edge => {
  38.         const slug = edge.node.fields.slug
  39.         createPage({
  40.             component: blogTemplate,
  41.             path: `/blog/${slug}`,
  42.             context: {
  43.                 slug,
  44.             },
  45.         })
  46.     })
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement