import fs from "fs" import path from "path" import matter from "gray-matter" export interface Post { slug: string title: string content: string } const postsDirectory = path.join(process.cwd(), "posts") export async function getPost(slug: string): Promise { try { const fullPath = path.join(postsDirectory, `${slug}.md`) // Try .md first, then .mdx let fileContents: string if (fs.existsSync(fullPath)) { fileContents = fs.readFileSync(fullPath, "utf8") } else { const mdxPath = path.join(postsDirectory, `${slug}.mdx`) if (fs.existsSync(mdxPath)) { fileContents = fs.readFileSync(mdxPath, "utf8") } else { return null } } const { data, content } = matter(fileContents) return { slug, title: data.title || slug, content, } } catch (error) { console.error("Error reading post:", error) return null } }