Files
website/gatsby-node.js
2019-07-26 14:37:31 -07:00

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