summary refs log tree commit diff
path: root/lib/getPosts.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/getPosts.ts')
-rw-r--r--lib/getPosts.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/getPosts.ts b/lib/getPosts.ts
new file mode 100644
index 0000000..4170292
--- /dev/null
+++ b/lib/getPosts.ts
@@ -0,0 +1,36 @@
+import * as fs from "fs";
+import { Post } from "./interfaces";
+import parsePost from "./parsePost";
+import { readDir } from "./utils";
+
+function getPosts(path: string): Array<Post> {
+  let routesArray: Post[] = [];
+  try {
+    const years = readDir(`${path}`);
+    years.forEach((year: string) => {
+      const months = readDir(`${path}/${year}`);
+      months.forEach((month: string) => {
+        const days = readDir(`${path}/${year}/${month}`);
+        days.forEach((day: string) => {
+          const files = readDir(`${path}/${year}/${month}/${day}`);
+          files.forEach((file: string) => {
+            const fsRoute = `${path}/${year}/${month}/${day}/${file}`;
+
+            const post = parsePost(fsRoute);
+
+            routesArray.push(post);
+          });
+        });
+      });
+    });
+  } finally {
+    return routesArray;
+  }
+}
+
+function createRoutesArray() {
+  // let posts = getPosts();
+  // return posts.map(post => post.route);
+}
+
+export { getPosts, createRoutesArray };