text: // const { resolve } = require(`path`)
  // const path = require(`path`)
  // const glob = require(`glob`)
  // const chunk = require(`lodash/chunk`)
  // const { dd } = require(`dumper.js`)
  
  // const getTemplates = () => {
  //   const sitePath = path.resolve(`./`)
  //   return glob.sync(`./src/templates/**/*.js`, { cwd: sitePath })
  // }
  
  async function createPortfolioPages(graphql, actions, reporter) {
    const { createPage } = actions
    const result = await graphql(`
      {
        allWpPost {
          edges {
            node {
              title
              slug
              id
            }
          }
        }
      }
    `)
    if (result.errors) {
      throw result.errors
    }
    const students = result.data.allWpPost.edges || []
  
    students.forEach((edge, index) => {
      const path = `/presenters/${edge.node.slug}`
      reporter.info(`presenters : ${path}`)
  
      createPage({
        path,
        component: require.resolve("./src/templates/portfolio.js"),
        context: { id: edge.node.id },
      })
    })
  }
  
  exports.createPages = async ({ graphql, actions, reporter }) => {
    await createPortfolioPages(graphql, actions, reporter)
  }
  
  //
  // @todo move this to gatsby-theme-wordpress
  // exports.createPages = async ({ actions, graphql, reporter }) => {
  //   const templates = getTemplates()
  
  //   const {
  //     data: {
  //       allWpContentNode: { nodes: contentNodes },
  //     },
  //   } = await graphql(/* GraphQL */ `
  //     query ALL_CONTENT_NODES {
  //       allWpContentNode(
  //         sort: { fields: modifiedGmt, order: DESC }
  //         filter: { nodeType: { ne: "MediaItem" } }
  //       ) {
  //         nodes {
  //           nodeType
  //           uri
  //           id
  //         }
  //       }
  //     }
  //   `)
  
  //   const contentTypeTemplateDirectory = `./src/templates/single/`
  //   const contentTypeTemplates = templates.filter((path) =>
  //     path.includes(contentTypeTemplateDirectory)
  //   )
  
  //   await Promise.all(
  //     contentNodes.map(async (node, i) => {
  //       const { nodeType, uri, id } = node
  //       // this is a super super basic template hierarchy
  //       // this doesn't reflect what our hierarchy will look like.
  //       // this is for testing/demo purposes
  //       const templatePath = `${contentTypeTemplateDirectory}${nodeType}.js`
  
  //       const contentTypeTemplate = contentTypeTemplates.find(
  //         (path) => path === templatePath
  //       )
  
  //       if (!contentTypeTemplate) {
  //         dd(node)
  //         reporter.log(``)
  //         reporter.log(``)
  //         reporter.panic(
  //           `[using-gatsby-source-wordpress] No template found at ${templatePath}\nfor single ${nodeType} ${
  //             node.id
  //           } with path ${
  //             node.uri
  //           }\n\nAvailable templates:\n${contentTypeTemplates.join(`\n`)}`
  //         )
  //       }
  
  //       await actions.createPage({
  //         component: resolve(contentTypeTemplate),
  //         path: uri,
  //         context: {
  //           id,
  //           nextPage: (contentNodes[i + 1] || {}).id,
  //           previousPage: (contentNodes[i - 1] || {}).id,
  //         },
  //       })
  //     })
  //   )
  
  //   // create the homepage
  //   const {
  //     data: { allWpPost },
  //   } = await graphql(/* GraphQL */ `
  //     {
  //       allWpPost(sort: { fields: modifiedGmt, order: DESC }) {
  //         nodes {
  //           uri
  //           id
  //         }
  //       }
  //     }
  //   `)
  
  //   const perPage = 10
  //   const chunkedContentNodes = chunk(allWpPost.nodes, perPage)
  
  //   await Promise.all(
  //     chunkedContentNodes.map(async (nodesChunk, index) => {
  //       const firstNode = nodesChunk[0]
  //       const page = index + 1
  //       const offset = perPage * index
  
  //       await actions.createPage({
  //         component: resolve(`./src/templates/index.js`),
  //         path: page === 1 ? `/blog/` : `/blog/${page}/`,
  //         context: {
  //           firstId: firstNode.id,
  //           page: page,
  //           offset: offset,
  //           totalPages: chunkedContentNodes.length,
  //           perPage,
  //         },
  //       })
  //     })
  //   )
  // }
  