feat: implement project fetching and markdown rendering for enhanced project display

This commit is contained in:
2025-02-04 01:37:58 +01:00
parent e7735e8521
commit f1112becd9
15 changed files with 2045 additions and 92 deletions

View File

@@ -0,0 +1,26 @@
import {NextResponse} from 'next/server';
import fs from 'fs';
import path from 'path';
import matter from 'gray-matter';
export async function GET() {
const projectsDirectory = path.join(process.cwd(), 'public/projects');
const filenames = fs.readdirSync(projectsDirectory);
console.log('Filenames:', filenames);
const projects = filenames.map((filename) => {
const filePath = path.join(projectsDirectory, filename);
const fileContents = fs.readFileSync(filePath, 'utf8');
const {data} = matter(fileContents);
return {
id: data.id,
title: data.title,
description: data.description,
slug: filename.replace('.md', ''),
};
});
return NextResponse.json(projects);
}