11const path = require ( "path" ) ;
2+ const {
3+ slugs,
4+ generateTagSlug,
5+ generatePostSlug,
6+ } = require ( "./src/logic/slug" ) ;
27const { createFilePath } = require ( "gatsby-source-filesystem" ) ;
38
49exports . createPages = async ( { graphql, actions, reporter } ) => {
@@ -28,7 +33,7 @@ exports.createPages = async ({ graphql, actions, reporter }) => {
2833 ) ;
2934
3035 if ( result . errors ) {
31- reporter . panicOnBuild ( `Error while running GraphQL query.` ) ;
36+ reporter . panicOnBuild ( `Create Pages Error while running GraphQL query.` ) ;
3237 return ;
3338 }
3439
@@ -50,7 +55,7 @@ exports.createPages = async ({ graphql, actions, reporter }) => {
5055 const numberOfPages = Math . ceil ( posts . length / postsPerPage ) ;
5156 Array . from ( { length : numberOfPages } ) . forEach ( ( _ , i ) => {
5257 createPage ( {
53- path : i === 0 ? `/ blog/` : `/ blog/ ${ i + 1 } ` ,
58+ path : i === 0 ? slugs . blog : `${ slugs . blog } ${ i + 1 } ` ,
5459 component : path . resolve ( "./src/templates/blog.tsx" ) ,
5560 context : {
5661 limit : postsPerPage ,
@@ -65,7 +70,7 @@ exports.createPages = async ({ graphql, actions, reporter }) => {
6570 const tags = result . data . tagsGroup . group ;
6671 tags . forEach ( ( tag ) => {
6772 createPage ( {
68- path : `/blog/tags/ ${ tag . fieldValue . split ( " " ) . join ( "-" ) } /` ,
73+ path : generateTagSlug ( tag . fieldValue ) ,
6974 component : path . resolve ( "./src/templates/tag.tsx" ) ,
7075 context : {
7176 tag : tag . fieldValue ,
@@ -78,8 +83,6 @@ exports.onCreateNode = ({ node, actions, getNode }) => {
7883 const { createNodeField } = actions ;
7984 if ( node . internal . type === `MarkdownRemark` ) {
8085 const filename = createFilePath ( { node, getNode, basePath : `pages` } ) ;
81- const [ year , month , day , ...title ] = filename . substring ( 1 ) . split ( "-" ) ;
82- const slug = `/${ year } /${ month } /${ day } /${ title . join ( "-" ) } ` ;
83- createNodeField ( { node, name : `slug` , value : slug } ) ;
86+ createNodeField ( { node, name : `slug` , value : generatePostSlug ( filename ) } ) ;
8487 }
8588} ;
0 commit comments