-
Notifications
You must be signed in to change notification settings - Fork 1
/
gatsby-node.js
41 lines (36 loc) · 994 Bytes
/
gatsby-node.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* eslint-disable @typescript-eslint/no-var-requires */
const {createFilePath} = require(`gatsby-source-filesystem`);
exports.createPages = async ({graphql, actions}) => {
const {createPages} = await import('./scripts/build/index.js');
await createPages({graphql, actions});
};
exports.onCreateNode = ({node, getNode, actions}) => {
const {createNodeField} = actions;
if (node.internal.type === `MarkdownRemark`) {
const slug = createFilePath({node, getNode, basePath: `pages`});
createNodeField({
node,
name: `slug`,
value: slug,
});
}
};
exports.createSchemaCustomization = ({actions}) => {
const {createTypes} = actions;
const typeDefs = `
type MarkdownRemark implements Node {
frontmatter: Frontmatter
}
type Frontmatter {
president: Member
secretary: Member
treasurer: Member
board: [Member]
}
type Member {
name: String
title: String
}
`;
createTypes(typeDefs);
};