@@ -18,25 +18,31 @@ function postsDirectory(mdx_folder: string): string{
1818}
1919
2020function getPostSlugs ( mdx_folder : string ) {
21- return fs . readdirSync ( postsDirectory ( mdx_folder ) ) ;
21+ return fs
22+ . readdirSync ( postsDirectory ( mdx_folder ) , { withFileTypes : true } )
23+ . filter ( entry => entry . isFile ( ) && entry . name . endsWith ( ".mdx" ) )
24+ . map ( entry => entry . name ) ;
2225}
2326
24- export function getPostBySlug ( slug : string , mdx_folder : string ) {
27+ export function getPostBySlug ( slug : string , mdx_folder : string ) {
2528 const realSlug = slug . replace ( / \. m d x ? $ / , "" ) ;
2629 const fullPath = join ( postsDirectory ( mdx_folder ) , `${ realSlug } .mdx` ) ;
30+
2731 const fileContents = fs . readFileSync ( fullPath , "utf8" ) ;
2832 const { data, content } = matter ( fileContents ) ;
33+
2934 const BASE_PATH = useBasePath ( ) ;
30-
35+
3136 // Update URLs based on the environment
3237 data . coverImage = data . coverImage . startsWith ( BASE_PATH ) ? data . coverImage : `${ BASE_PATH } ${ data . coverImage } ` ;
3338 data . author . picture = data . author . picture . startsWith ( BASE_PATH ) ? data . author . picture : `${ BASE_PATH } ${ data . author . picture } ` ;
3439 data . ogImage . url = data . ogImage . url . startsWith ( BASE_PATH ) ? data . ogImage . url : `${ BASE_PATH } ${ data . ogImage . url } ` ;
40+
3541 return { ...data , slug : realSlug , content } as Post ;
3642}
3743
3844export function getAllPosts ( mdx_folder : string ) : Post [ ] {
3945 const slugs = getPostSlugs ( mdx_folder ) ;
40- const posts = slugs . map ( ( slug ) => getPostBySlug ( slug , mdx_folder ) ) ;
46+ const posts = slugs . map ( slug => getPostBySlug ( slug , mdx_folder ) ) ;
4147 return posts . sort ( ( post1 , post2 ) => ( post1 . date > post2 . date ? - 1 : 1 ) ) ;
4248}
0 commit comments