Init
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
const path = require('path');
|
||||
|
||||
exports.createPages = async ({graphql, actions, reporter}) => {
|
||||
const {createPage} = actions;
|
||||
|
||||
createPage({
|
||||
path: '/',
|
||||
component: path.resolve(`src/pages/HomePage/HomePage.jsx`),
|
||||
context: {
|
||||
pagePath: '/',
|
||||
},
|
||||
});
|
||||
|
||||
createPage({
|
||||
path: '/insights/',
|
||||
component: path.resolve(`src/pages/List/List.jsx`),
|
||||
context: {
|
||||
pagePath: '/insights/',
|
||||
},
|
||||
});
|
||||
|
||||
const result = await graphql(`
|
||||
{
|
||||
allDataJson {
|
||||
nodes {
|
||||
name
|
||||
images
|
||||
tags
|
||||
description
|
||||
sources
|
||||
socialMedia {
|
||||
Twitter {
|
||||
Social_Media_Influence
|
||||
Tweet_Bookmarks
|
||||
Tweet_Bookmarks_Relative_to_Average
|
||||
Tweet_Likes
|
||||
Tweet_Likes_Relative_to_Average
|
||||
Tweet_Quotes
|
||||
Tweet_Quotes_Relative_to_Average
|
||||
Tweet_Reposts
|
||||
Tweet_Reposts_Relative_to_Average
|
||||
Tweet_Views
|
||||
Tweet_Views_Relative_to_Average
|
||||
found
|
||||
}
|
||||
Instagram {
|
||||
Post_Comments
|
||||
Post_Comments_Relative_to_Average
|
||||
Post_Likes
|
||||
Post_Likes_Relative_to_Average
|
||||
Social_Media_Influence
|
||||
found
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`);
|
||||
|
||||
if (result.errors) {
|
||||
reporter.panicOnBuild(`Error while running GraphQL query.`);
|
||||
return;
|
||||
}
|
||||
|
||||
const productPostTemplate = path.resolve(
|
||||
`src/templates/ProductPage/ProductPage.jsx`
|
||||
);
|
||||
result.data.allDataJson.nodes.forEach((node) => {
|
||||
const path = `/insights/${node.name.replaceAll(' ', '-').toLowerCase()}`;
|
||||
createPage({
|
||||
path,
|
||||
component: productPostTemplate,
|
||||
context: {
|
||||
pagePath: path,
|
||||
data: node,
|
||||
images: node.images,
|
||||
},
|
||||
});
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user