feat(website): init

This commit is contained in:
moklick
2020-10-05 10:14:49 +02:00
parent f54b93b319
commit 277e032770
140 changed files with 30517 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
const path = require('path');
const utils = require('./utils');
const defaultTemplate = path.resolve('./src/templates/default-page.js');
const mdQuery = `
{
pages: allMdx {
edges {
node {
fields {
slug
}
frontmatter {
published
}
}
}
}
}
`;
const filterSpecialPages = (mdPage) => {
const slug = mdPage.node.fields.slug;
return slug.indexOf('/blog') !== 0 && slug.indexOf('/projects') !== 0;
};
const createMdPages = (createPage, mdPages) => {
mdPages
.filter(filterSpecialPages)
.filter(utils.filterPublished)
.forEach((mdPage) => {
createPage({
path: mdPage.node.fields.slug,
component: defaultTemplate,
context: {
slug: mdPage.node.fields.slug,
fields: mdPage.node.fields,
},
});
});
};
const mdPagesGenerator = (createPage, graphql) =>
new Promise((resolve, reject) => {
resolve(
graphql(mdQuery).then((result) => {
if (result.errors) {
console.log(result.errors);
reject(result.errors);
}
const mdPages = result.data.pages.edges;
try {
createMdPages(createPage, mdPages);
} catch (e) {
console.log(e);
}
})
);
});
module.exports = mdPagesGenerator;