From 30fed9da228ef9bab5734e000e598ff380cb55f5 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Wed, 17 Apr 2024 20:28:04 +0200 Subject: bye bye bun --- src/posts.ts | 61 ------------------------------------------------------------ 1 file changed, 61 deletions(-) delete mode 100644 src/posts.ts (limited to 'src/posts.ts') diff --git a/src/posts.ts b/src/posts.ts deleted file mode 100644 index 2b678b9..0000000 --- a/src/posts.ts +++ /dev/null @@ -1,61 +0,0 @@ -import path from "node:path"; -import fs from "node:fs/promises"; - -import { matter } from "toml-matter"; - -type MatterFile = ReturnType; - -export type Post = { - input: string; - output: string; - basename: string; - url: string; - title: string; - date: Date; - description: string | undefined; - taxonomies: Record; -}; - -export async function getPost(filename: string): Promise { - return matter(await fs.readFile(filename, "utf8")); -} - -export async function readPosts( - root: string, - inputDir: string, - outputDir: string, -): Promise<{ posts: Array; tags: Set }> { - let tags = new Set(); - let posts = new Array(); - const subdir = path.join(root, inputDir); - for (let pathname of await fs.readdir(subdir)) { - const pathFromRoot = path.join(subdir, pathname); - const stat = await fs.stat(pathFromRoot); - if (stat.isFile() && path.extname(pathname) === ".md") { - if (pathname !== "_index.md") { - const input = pathFromRoot; - const output = pathFromRoot - .replace(root, outputDir) - .replace(".md", "/index.html"); - const url = pathFromRoot.replace(root, "").replace(".md", "/"); - - const file = await getPost(input); - - (file.data["taxonomies"] as any)?.tags?.map((t: string) => - tags.add(t.toLowerCase()), - ); - posts.push({ - input, - output, - basename: path.basename(pathname, ".md"), - url, - ...file.data, - } as Post); - } - } - } - return { - posts: posts.sort((a, b) => b.date.getTime() - a.date.getTime()), - tags, - }; -} -- cgit 1.4.1