1- const path = require ( " path" ) ;
2- const fs = require ( "fs" ) ;
1+ const path = require ( ' path' ) ;
2+ const fs = require ( 'fs' ) ;
33
44// Create pages from markdown files
55exports . createPages = ( { graphql, actions } ) => {
@@ -8,37 +8,7 @@ exports.createPages = ({ graphql, actions }) => {
88 resolve (
99 graphql ( `
1010 {
11- getStarted: allMarkdownRemark(
12- filter: { fileAbsolutePath: { regex: "/getStarted/" } }
13- sort: { fields: [frontmatter___date], order: DESC }
14- ) {
15- edges {
16- node {
17- id
18- frontmatter {
19- path
20- title
21- }
22- excerpt
23- }
24- }
25- }
26- docs: allMarkdownRemark(
27- filter: { fileAbsolutePath: { regex: "/docs/" } }
28- sort: { fields: [frontmatter___date], order: DESC }
29- ) {
30- edges {
31- node {
32- id
33- frontmatter {
34- path
35- title
36- }
37- excerpt
38- }
39- }
40- }
41- scanner: allMarkdownRemark(
11+ git: allMarkdownRemark(
4212 filter: { fileAbsolutePath: { regex: "/gatsby-source-git/" } }
4313 ) {
4414 edges {
@@ -53,79 +23,42 @@ exports.createPages = ({ graphql, actions }) => {
5323 }
5424 }
5525 }
56- persistenceProvider: allMarkdownRemark(
57- filter: {
58- fileAbsolutePath: { regex: "/integrations/persistence-provider/" }
59- }
60- ) {
61- edges {
62- node {
63- frontmatter {
64- title
65- path
66- category
67- }
68- id
69- }
70- }
71- }
7226 }
7327 ` ) . then ( ( result ) => {
74- result . data . getStarted . edges . forEach ( ( { node } ) => {
75- const component = path . resolve ( "src/templates/getStarted.js" ) ;
76- createPage ( {
77- path : node . frontmatter . path ,
78- component,
79- context : {
80- id : node . id ,
81- } ,
82- } ) ;
83- } ) ;
84- result . data . docs . edges . forEach ( ( { node } ) => {
85- const component = path . resolve ( "src/templates/docs.js" ) ;
86- createPage ( {
87- path : node . frontmatter . path ,
88- component,
89- context : {
90- id : node . id ,
91- } ,
92- } ) ;
93- } ) ;
94- result . data . scanner . edges . forEach ( ( { node } ) => {
95- const component = path . resolve ( "src/templates/integration.js" ) ;
96-
97- let componentName = "" ;
28+ result . data . git . edges . forEach ( ( { node } ) => {
29+ let componentName = '' ;
9830 if ( node . frontmatter . path ) {
9931 // The path consists normally like "scanners/nmap" or "hook/persistence-elastic"
100- componentName = node . frontmatter . path . split ( "/" ) [ 1 ] ;
32+ componentName = node . frontmatter . path . split ( '/' ) [ 1 ] ;
10133 }
10234
103- createPage ( {
104- path : `integrations/${ node . frontmatter . path } ` ,
105- component,
106- context : {
107- id : node . id ,
108- exampleFilter : `/${ componentName } /examples/` ,
109- } ,
110- } ) ;
111- } ) ;
112- result . data . persistenceProvider . edges . forEach ( ( { node } ) => {
113- const component = path . resolve ( "src/templates/integration.js" ) ;
114-
115- let componentName = "" ;
116- if ( node . frontmatter . path ) {
117- // The path consists normally like "scanners/nmap" or "hook/persistence-elastic"
118- componentName = node . frontmatter . path . split ( "/" ) [ 1 ] ;
35+ if (
36+ node . frontmatter . category === 'scanner' ||
37+ node . frontmatter . category === 'hook'
38+ ) {
39+ const component = path . resolve ( 'src/templates/integration.js' ) ;
40+ createPage ( {
41+ path : `integrations/${ node . frontmatter . path } ` ,
42+ component,
43+ context : {
44+ id : node . id ,
45+ exampleFilter : `/${ componentName } /examples/` ,
46+ } ,
47+ } ) ;
48+ } else if (
49+ node . frontmatter . category === 'develop' ||
50+ node . frontmatter . category === 'use'
51+ ) {
52+ const component = path . resolve ( 'src/templates/doc.js' ) ;
53+ createPage ( {
54+ path : `getStarted/${ node . frontmatter . path } ` ,
55+ component,
56+ context : {
57+ id : node . id ,
58+ exampleFilter : `/${ componentName } /examples/` ,
59+ } ,
60+ } ) ;
11961 }
120-
121- createPage ( {
122- path : `integrations/${ node . frontmatter . path } ` ,
123- component,
124- context : {
125- id : node . id ,
126- exampleFilter : `/${ componentName } /examples/` ,
127- } ,
128- } ) ;
12962 } ) ;
13063 resolve ( ) ;
13164 } )
@@ -147,7 +80,7 @@ exports.onCreateNode = ({ node, actions }) => {
14780 createNodeField ( {
14881 node,
14982 name : `scanTarget` ,
150- value : node . relativeDirectory . split ( " /examples/" ) [ 1 ] ,
83+ value : node . relativeDirectory . split ( ' /examples/' ) [ 1 ] ,
15184 } ) ;
15285 }
15386} ;
0 commit comments