4
4
* See: https://www.gatsbyjs.org/docs/node-apis/
5
5
*/
6
6
7
- const { createFilePath } = require ( `gatsby-source-filesystem` ) ;
8
- const path = require ( 'path' ) ;
7
+ const { createFilePath } = require ( `gatsby-source-filesystem` )
8
+ const path = require ( 'path' )
9
9
10
- exports . onCreateNode = ( { node, getNode, boundActionCreators } ) => {
11
- const { createNodeField } = boundActionCreators
12
- if ( node . internal . type === `MarkdownRemark` && / .* \/ b l o g s \/ .* / . test ( node . fileAbsolutePath ) ) {
13
- const slug = createFilePath ( { node, getNode, basePath : `blogs` } )
14
- createNodeField ( {
15
- node,
16
- name : `slug` ,
17
- value : slug ,
18
- } )
10
+ exports . onCreateNode = ( { node, getNode, actions } ) => {
11
+ const { createNodeField } = actions
12
+ if (
13
+ node . internal . type === `MarkdownRemark` &&
14
+ / .* \/ b l o g s \/ .* / . test ( node . fileAbsolutePath )
15
+ ) {
16
+ const slug = createFilePath ( { node, getNode, basePath : `blogs` } )
17
+ createNodeField ( {
18
+ node,
19
+ name : `slug` ,
20
+ value : slug ,
21
+ } )
22
+ }
23
+ }
24
+
25
+ exports . onCreatePage = async ( { graphql, page, actions } ) => {
26
+ const { createPage } = actions
27
+ return new Promise ( ( resolve , reject ) => {
28
+ if ( page . path . match ( / ^ \/ $ / ) ) {
29
+ page . layout = 'landingPage'
30
+
31
+ // Update the page.
32
+ createPage ( page )
19
33
}
20
- } ;
21
34
22
- exports . onCreatePage = async ( { graphql, page, boundActionCreators } ) => {
23
- const { createPage } = boundActionCreators ;
24
- return new Promise ( ( resolve , reject ) => {
25
- if ( page . path . match ( / ^ \/ $ / ) ) {
26
- page . layout = "landingPage" ;
27
-
28
- // Update the page.
29
- createPage ( page ) ;
30
- }
31
-
32
- resolve ( ) ;
33
- } ) ;
34
- } ;
35
+ resolve ( )
36
+ } )
37
+ }
35
38
36
- exports . createPages = ( { graphql, boundActionCreators } ) => {
37
- const { createPage } = boundActionCreators
38
- return new Promise ( ( resolve , reject ) => {
39
- graphql ( `
40
- {
41
- allMarkdownRemark(filter: {fileAbsolutePath: {regex:"/blogs/.*$/"} }) {
42
- edges {
43
- node {
44
- fields {
45
- slug
46
- }
47
- }
48
- }
39
+ exports . createPages = async ( { graphql, actions } ) => {
40
+ const { createPage } = actions
41
+ await graphql ( `
42
+ {
43
+ allMarkdownRemark(
44
+ filter: { fileAbsolutePath: { regex: "/blogs/.*$/" } }
45
+ ) {
46
+ edges {
47
+ node {
48
+ fields {
49
+ slug
49
50
}
51
+ }
50
52
}
51
- `
52
- ) . then ( result => {
53
- result . data . allMarkdownRemark . edges . forEach ( ( { node} ) => {
54
- createPage ( {
55
- path : node . fields . slug ,
56
- component : path . resolve ( './src/templates/blog-post.js' ) ,
57
- context : {
58
- // Data passed to context is available in page queries as GraphQL variables.
59
- slug : node . fields . slug
60
- }
61
- } )
62
- } ) ;
53
+ }
54
+ }
55
+ ` ) . then ( ( result ) => {
56
+ result . data . allMarkdownRemark . edges . forEach ( ( { node } ) => {
57
+ createPage ( {
58
+ path : node . fields . slug ,
59
+ component : path . resolve ( './src/templates/blog-post.js' ) ,
60
+ context : {
61
+ // Data passed to context is available in page queries as GraphQL variables.
62
+ slug : node . fields . slug ,
63
+ } ,
63
64
} )
64
- resolve ( )
65
- } ) ;
65
+ } )
66
+ } )
66
67
}
67
-
68
- // You can delete this file if you're not using it
0 commit comments