two-cloudwebsite/lib/content.ts
2025-07-16 17:42:25 +08:00

19 lines
640 B
TypeScript

import fs from 'fs';
import path from 'path';
import matter from 'gray-matter';
type PostData = { slug: string[]; frontmatter: Record<string, any> };
const CONTENT_DIR = path.join(process.cwd(), 'content');
export function getAllPosts(lang: string): PostData[] {
const dir = path.join(CONTENT_DIR, lang);
if (!fs.existsSync(dir)) return [];
return fs.readdirSync(dir)
.filter(f => f.endsWith('.md'))
.map(file => {
const full = path.join(dir, file);
const { data } = matter(fs.readFileSync(full, 'utf-8'));
const slug = file.replace(/\.md$/, '');
return { slug: [slug], frontmatter: data };
});
}