diff --git a/app/blog/[slug]/page.tsx b/app/blog/[slug]/page.tsx index 10b02b6..48baa30 100644 --- a/app/blog/[slug]/page.tsx +++ b/app/blog/[slug]/page.tsx @@ -1,6 +1,14 @@ import Link from "next/link" import {ArrowLeftIcon} from "@heroicons/react/24/solid" -import {getArticleData} from "@/lib/articles"; +import {getArticleData, getSortedArticles} from "@/lib/articles"; + +export async function generateStaticParams() { + const articles = getSortedArticles(); + + return articles.map((article) => ({ + slug: article.id, + })); +} const Article = async ({params}: { params: Promise<{ slug: string }> }) => { const {slug} = await params; diff --git a/lib/articles.ts b/lib/articles.ts index 7d9a04b..859029c 100644 --- a/lib/articles.ts +++ b/lib/articles.ts @@ -9,7 +9,7 @@ import type {ArticleItem} from "@/types"; const articlesDirectory = path.join(process.cwd(), "articles"); -const getSortedArticles = (): ArticleItem[] => { +export const getSortedArticles = (): ArticleItem[] => { const fileNames = fs.readdirSync(articlesDirectory); const allArticlesData = fileNames.map((fileName) => {