Commit 333b16a 1 parent 2f438e0 commit 333b16a Copy full SHA for 333b16a
File tree 3 files changed +35
-10
lines changed
3 files changed +35
-10
lines changed Original file line number Diff line number Diff line change @@ -30,3 +30,17 @@ export function formatDate(date: string) {
30
30
timeZone : 'UTC' ,
31
31
} )
32
32
}
33
+
34
+ export async function getPosts ( ) {
35
+ const {
36
+ blogIndex : { blogPosts } ,
37
+ } = await basehub ( { cache : 'no-store' } ) . query ( {
38
+ blogIndex : {
39
+ blogPosts : {
40
+ __args : { filter : { isPublished : true } } ,
41
+ items : { _slug : true , _sys : { lastModifiedAt : true } } ,
42
+ } ,
43
+ } ,
44
+ } )
45
+ return blogPosts . items
46
+ }
Original file line number Diff line number Diff line change 1
- import { formatDate , getPostBySlug } from '@/app/blog/[slug]/helpers'
1
+ import { formatDate , getPostBySlug , getPosts } from '@/app/blog/[slug]/helpers'
2
2
import { TrackPage } from '@/components/track-page'
3
3
import { Button } from '@/components/ui/button'
4
- import { basehub } from 'basehub'
5
4
import { RichText } from 'basehub/react'
6
5
import { ArrowLeft } from 'lucide-react'
7
6
import type { Metadata } from 'next'
@@ -13,13 +12,8 @@ export const revalidate = 60
13
12
export const dynamic = 'force-static'
14
13
15
14
export async function generateStaticParams ( ) {
16
- const {
17
- blogIndex : { blogPosts } ,
18
- } = await basehub ( { cache : 'no-store' } ) . query ( {
19
- blogIndex : { blogPosts : { items : { _slug : true } } } ,
20
- } )
21
-
22
- return blogPosts . items . map ( ( blogPost ) => ( { slug : blogPost . _slug } ) )
15
+ const posts = await getPosts ( )
16
+ return posts . map ( ( { _slug } ) => ( { slug : _slug } ) )
23
17
}
24
18
25
19
export async function generateMetadata ( {
Original file line number Diff line number Diff line change
1
+ import { getPosts } from '@/app/blog/[slug]/helpers'
1
2
import { env } from '@/lib/env'
2
3
import { MetadataRoute } from 'next'
3
4
4
- export default function sitemap ( ) : MetadataRoute . Sitemap {
5
+ export default async function sitemap ( ) : Promise < MetadataRoute . Sitemap > {
6
+ const posts = await getPosts ( )
5
7
return [
6
8
{
7
9
url : env . NEXT_PUBLIC_BASE_URL ,
8
10
lastModified : new Date ( ) ,
9
11
changeFrequency : 'yearly' ,
10
12
priority : 1 ,
11
13
} ,
14
+ {
15
+ url : `${ env . NEXT_PUBLIC_BASE_URL } /blog` ,
16
+ lastModified : new Date ( ) ,
17
+ changeFrequency : 'yearly' ,
18
+ priority : 1 ,
19
+ } ,
20
+ ...posts . map (
21
+ ( post ) =>
22
+ ( {
23
+ url : `${ env . NEXT_PUBLIC_BASE_URL } /blog/${ post . _slug } ` ,
24
+ lastModified : new Date ( post . _sys . lastModifiedAt ) ,
25
+ changeFrequency : 'yearly' ,
26
+ priority : 1 ,
27
+ } ) as const ,
28
+ ) ,
12
29
]
13
30
}
You can’t perform that action at this time.
0 commit comments