aboutsummaryrefslogtreecommitdiff
path: root/app/updates/getPostMetadata.js
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@protonmail.com>2023-07-19 00:48:11 -0400
committerAndrew Lee <alee14498@protonmail.com>2023-07-19 00:48:11 -0400
commitd57226e5a802ecd6607faf67f32621e2da725a35 (patch)
treed2073bbc14409095c61255ea83b2ca3815df309d /app/updates/getPostMetadata.js
parent3c80755e70aa85daa59edc5dbe200400894254c7 (diff)
downloadalure-website-d57226e5a802ecd6607faf67f32621e2da725a35.tar.gz
alure-website-d57226e5a802ecd6607faf67f32621e2da725a35.tar.bz2
alure-website-d57226e5a802ecd6607faf67f32621e2da725a35.zip
Moved all components to app folder
Diffstat (limited to 'app/updates/getPostMetadata.js')
-rw-r--r--app/updates/getPostMetadata.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/updates/getPostMetadata.js b/app/updates/getPostMetadata.js
new file mode 100644
index 0000000..515cc79
--- /dev/null
+++ b/app/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
+}