Skip to content

Commit e58fda7

Browse files
committed
fix: type errors
1 parent b05467f commit e58fda7

File tree

2 files changed

+50
-53
lines changed

2 files changed

+50
-53
lines changed

app/routes/_libraries/blog.index.tsx

Lines changed: 39 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,9 @@ const fetchFrontMatters = createServerFn({ method: 'GET' }).handler(
1818
'Netlify-Vary': 'query=payload',
1919
})
2020

21-
return allPosts
22-
.map((post) => {
23-
return post
24-
})
25-
.sort((a, b) => {
26-
return new Date(b.published).getTime() - new Date(a.published).getTime()
27-
})
21+
return allPosts.sort((a, b) => {
22+
return new Date(b.published).getTime() - new Date(a.published).getTime()
23+
})
2824

2925
// return json(frontMatters, {
3026
// headers: {
@@ -59,51 +55,49 @@ function BlogIndex() {
5955
<div className="h-6" />
6056
</div>
6157
<div className="grid grid-cols-1 md:grid-cols-2 2xl:grid-cols-3 gap-4">
62-
{frontMatters.map(
63-
({ _meta: { path }, title, published, excerpt, authors = [] }) => {
64-
return (
65-
<Link
66-
key={path}
67-
to="/blog/$"
68-
params={{ _splat: path }}
69-
className={`flex flex-col gap-4 justify-between
58+
{frontMatters.map(({ slug, title, published, excerpt, authors }) => {
59+
return (
60+
<Link
61+
key={slug}
62+
to="/blog/$"
63+
params={{ _splat: slug }}
64+
className={`flex flex-col gap-4 justify-between
7065
border-2 border-transparent rounded-lg p-4 md:p-8
7166
transition-all bg-white/100 dark:bg-gray-800
7267
shadow-xl dark:shadow-lg dark:shadow-blue-500/30
7368
hover:border-blue-500
7469
`}
75-
>
76-
<div>
77-
<div className={`text-lg font-extrabold`}>{title}</div>
78-
<div className={`text-xs italic font-light mt-1`}>
79-
<p>
80-
by {formatAuthors(authors)}
81-
{published ? (
82-
<time
83-
dateTime={published}
84-
title={format(new Date(published), 'MMM dd, yyyy')}
85-
>
86-
{' '}
87-
on {format(new Date(published), 'MMM dd, yyyy')}
88-
</time>
89-
) : null}
90-
</p>
91-
</div>
92-
<div
93-
className={`text-sm mt-4 text-black dark:text-white leading-7`}
94-
>
95-
<Markdown rawContent={excerpt || ''} />
96-
</div>
70+
>
71+
<div>
72+
<div className={`text-lg font-extrabold`}>{title}</div>
73+
<div className={`text-xs italic font-light mt-1`}>
74+
<p>
75+
by {formatAuthors(authors)}
76+
{published ? (
77+
<time
78+
dateTime={published}
79+
title={format(new Date(published), 'MMM dd, yyyy')}
80+
>
81+
{' '}
82+
on {format(new Date(published), 'MMM dd, yyyy')}
83+
</time>
84+
) : null}
85+
</p>
86+
</div>
87+
<div
88+
className={`text-sm mt-4 text-black dark:text-white leading-7`}
89+
>
90+
<Markdown rawContent={excerpt || ''} />
9791
</div>
98-
<div>
99-
<div className="text-blue-500 uppercase font-black text-sm">
100-
Read More
101-
</div>
92+
</div>
93+
<div>
94+
<div className="text-blue-500 uppercase font-black text-sm">
95+
Read More
10296
</div>
103-
</Link>
104-
)
105-
}
106-
)}
97+
</div>
98+
</Link>
99+
)
100+
})}
107101
</div>
108102
<div className="h-24" />
109103
</div>

content-collections.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,22 @@ import { extractFrontMatter } from '~/utils/documents.server'
33

44
const posts = defineCollection({
55
name: 'posts',
6-
directory: 'app/blog',
7-
include: '**/*.md',
8-
transform: ({ content, ...rest }) => {
9-
return {
10-
...rest,
11-
...extractFrontMatter(content),
12-
}
13-
},
6+
directory: './app/blog',
7+
include: '*.md',
148
schema: (z) => ({
159
title: z.string(),
1610
published: z.string().date(),
1711
authors: z.string().array(),
1812
}),
13+
transform: ({ content, ...post }) => {
14+
const frontMatter = extractFrontMatter(content)
15+
return {
16+
...post,
17+
slug: post._meta.path,
18+
excerpt: frontMatter.excerpt,
19+
content,
20+
}
21+
},
1922
})
2023

2124
export default defineConfig({

0 commit comments

Comments
 (0)