@@ -2,26 +2,12 @@ import Image from "next/image";
22import styles from "@/styles/home.module.css"
33import Link from "next/link" ;
44import { ArrowRight } from "lucide-react" ;
5- import { readdirSync } from "fs" ;
6- import { join } from "path" ;
7- import { PostMeta } from "./blog/types" ;
5+ import { indexBlogPosts } from "@/lib/blog" ;
86
97const Page = async ( ) => {
108
11- const files = readdirSync ( join ( process . cwd ( ) , "/blog-posts" ) )
12-
13- const posts = await Promise . all ( files . map ( async ( file ) => {
14- const { meta } = await import ( `@/blog-posts/${ file } ` ) as { meta : PostMeta }
15-
16- return { ...meta , slug : file . split ( "." ) [ 0 ] }
17- } ) )
18-
19- const sortedPosts = posts . sort ( ( a , b ) => {
20- const dateA = new Date ( a . published ) . getTime ( )
21- const dateB = new Date ( b . published ) . getTime ( )
22-
23- return dateB - dateA
24- } )
9+ // get blog posts
10+ const posts = await indexBlogPosts ( )
2511
2612 return (
2713 < main className = { styles . main } >
@@ -50,18 +36,19 @@ const Page = async () => {
5036 < Link href = "/blog" className = { styles . link } > Check the blog out here < ArrowRight /> </ Link >
5137 </ div >
5238 < div >
39+ { /* show 3 newest blog posts */ }
5340 < h4 style = { { margin : "0" } } > Recent Posts</ h4 >
5441 < div className = { styles . post } >
55- < Link href = { `/blog/${ sortedPosts [ 0 ] . slug } ` } > { sortedPosts [ 0 ] . title } </ Link >
56- < div > { sortedPosts [ 0 ] . published } </ div >
42+ < Link href = { `/blog/${ posts [ 0 ] . slug } ` } > { posts [ 0 ] . title } </ Link >
43+ < div > { posts [ 0 ] . published } </ div >
5744 </ div >
5845 < div className = { styles . post } >
59- < Link href = { `/blog/${ sortedPosts [ 1 ] . slug } ` } > { sortedPosts [ 1 ] . title } </ Link >
60- < div > { sortedPosts [ 1 ] . published } </ div >
46+ < Link href = { `/blog/${ posts [ 1 ] . slug } ` } > { posts [ 1 ] . title } </ Link >
47+ < div > { posts [ 1 ] . published } </ div >
6148 </ div >
6249 { /*<div className={styles.post}>
63- <Link href={`/blog/${sortedPosts [2].slug}`}>{sortedPosts [2].title}</Link>
64- <div>{sortedPosts [0].published}</div>
50+ <Link href={`/blog/${posts [2].slug}`}>{posts [2].title}</Link>
51+ <div>{posts [0].published}</div>
6552 </div>*/ }
6653 </ div >
6754 </ div >
0 commit comments