const { graphql } = require('gatsby'); const { createFilePath } = require("gatsby-source-filesystem"); const path = require(`path`) const usersEndpoint = (id) => `https://discordapp.com/api/guilds/${id}/members`; const fetchUsers = () => { // Fetch user data from discord using bot token here } const createDocs = async ({ createPage, graphql }) => { const languageDocs = path.resolve(`src/templates/languagePost.tsx`) const result = await graphql(` { allFile(filter: {sourceInstanceName: {eq: "docs"}}) { edges { node { relativePath childMarkdownRemark { frontmatter { author date } } } } } } `); if (result.errors) { return Promise.reject(result.errors) } return result.data.allFile.edges.forEach(({ node }) => { createPage({ path: path.join('docs', node.relativePath), component: languageDocs, context: { file: node.relativePath }, }) }) } exports.onCreateNode = async ({ node, getNode, actions }) => { const { createPage, createNodeField } = actions; if (node.internal.type === "MarkdownRemark") { const slug = createFilePath({ node, getNode, basePath: "src/content/docs" }) createNodeField({ node, name: "slug", value: slug }); } } exports.createPages = ({ actions, graphql }) => { const { createPage } = actions return createDocs({ createPage, graphql }); }