{node.frontmatter.title}
- -{node.excerpt}
-diff --git a/gatsby-node.js b/gatsby-node.js
index 5bf20b9..8e3c3c9 100644
--- a/gatsby-node.js
+++ b/gatsby-node.js
@@ -4,34 +4,55 @@ exports.createPages = async ({ actions, graphql, reporter }) => {
const { createPage } = actions;
const noteTemplate = path.resolve(`src/templates/note.tsx`);
- const result = await graphql(`{
- allMdx(
- limit: 10,
- filter: {fileAbsolutePath: {glob: "**/src/notes/*"}}
- ) {
- edges {
- node {
- frontmatter {
- path
+ const result = await graphql(`
+ {
+ allMdx(
+ limit: 10
+ filter: { fileAbsolutePath: { glob: "**/src/notes/*" } }
+ ) {
+ edges {
+ node {
+ frontmatter {
+ path
+ }
+ id
}
- id
}
}
}
- }`);
+ `);
if (result.errors) {
reporter.panicOnBuild(`Error while running GraphQL query.`);
return;
}
- result.data.allMdx.edges.forEach(({ node }) => {
+ const posts = result.data.allMdx.edges;
+ const postsPerPage = 2;
+ const numPages = Math.ceil(posts.length / postsPerPage);
+ const rootPath = "/notes";
+
+ Array.from({ length: numPages }).forEach((_, i) => {
createPage({
- path: `/notes/${node.frontmatter.path}`,
+ path: rootPath + (i === 0 ? '' : `/${i + 1}`),
+ component: path.resolve("./src/templates/notes.tsx"),
+ context: {
+ limit: postsPerPage,
+ skip: i * postsPerPage,
+ numPages,
+ currentPage: i + 1,
+ rootPath,
+ },
+ })
+ });
+
+ posts.forEach(({ node }) => {
+ createPage({
+ path: `${rootPath}/${node.frontmatter.path}`,
component: noteTemplate,
context: {
id: node.id,
- }
+ },
});
});
-}
\ No newline at end of file
+}
diff --git a/src/pages/notes.tsx b/src/pages/notes.tsx
deleted file mode 100644
index c034916..0000000
--- a/src/pages/notes.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import React from "react";
-import Navbar from "../components/navbar";
-import { graphql } from "gatsby";
-import style from "./notes.module.css";
-
-export default ({ data }) => {
- console.log(data);
- const posts = data.allMdx.edges;
- return <>
- {node.excerpt} {node.excerpt}{node.frontmatter.title}
-
-
+ {frontmatter.title}
+
+
+
{currentPage}
+ {currentPage !== numPages ? >> : ''} +