diff options
| author | Andrew Lee <alee14498@protonmail.com> | 2023-07-17 20:42:50 -0400 |
|---|---|---|
| committer | Andrew Lee <alee14498@protonmail.com> | 2023-07-17 20:42:50 -0400 |
| commit | c4c55a93bc6af8b15f45225169758e08ff1b13cd (patch) | |
| tree | bf7e7c4070e462e99bcea327588c323025b6a0bb /components/updates/getPostMetadata.js | |
| download | sei-website-c4c55a93bc6af8b15f45225169758e08ff1b13cd.tar.gz sei-website-c4c55a93bc6af8b15f45225169758e08ff1b13cd.tar.bz2 sei-website-c4c55a93bc6af8b15f45225169758e08ff1b13cd.zip | |
Initial rewrite
Diffstat (limited to 'components/updates/getPostMetadata.js')
| -rw-r--r-- | components/updates/getPostMetadata.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/components/updates/getPostMetadata.js b/components/updates/getPostMetadata.js new file mode 100644 index 0000000..515cc79 --- /dev/null +++ b/components/updates/getPostMetadata.js @@ -0,0 +1,24 @@ +import {readdirSync, readFileSync} from "fs"; +import matter from "gray-matter"; + +export default function getPostMetadata() { + const folder = "posts/"; + const files = readdirSync(folder); + const markdownPosts = files.filter((file) => file.endsWith(".md")); + + const posts = markdownPosts.map((fileName) => { + const fileContent = readFileSync(`posts/${fileName}`, "utf-8"); + const matterResult = matter(fileContent); + return { + title: matterResult.data.title, + author: matterResult.data.author, + date: matterResult.data.date, + description: matterResult.data.description, + slug: fileName.replace(".md", "") + } + }) + + // Sort the posts by date in descending order + posts.sort((a, b) => new Date(b.date) - new Date(a.date)); + return posts +} |
