diff options
Diffstat (limited to 'lib/getPosts.ts')
-rw-r--r-- | lib/getPosts.ts | 36 |
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 }; |