Files
website/gatsby-node.js
T

63 lines
1.5 KiB
JavaScript

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 })
}