diff --git a/nx-dev/data-access-documents/src/lib/blog.api.ts b/nx-dev/data-access-documents/src/lib/blog.api.ts index 52f9979848..afbad00a8c 100644 --- a/nx-dev/data-access-documents/src/lib/blog.api.ts +++ b/nx-dev/data-access-documents/src/lib/blog.api.ts @@ -75,6 +75,7 @@ export class BlogApi { podcastAppleUrl: frontmatter.podcastAppleUrl, podcastAmazonUrl: frontmatter.podcastAmazonUrl, published: frontmatter.published ?? true, + metrics: frontmatter.metrics, }; const isDevelopment = process.env.NODE_ENV === 'development'; const shouldIncludePost = !frontmatter.draft || isDevelopment; diff --git a/nx-dev/data-access-documents/src/lib/blog.model.ts b/nx-dev/data-access-documents/src/lib/blog.model.ts index 1f4f5b272b..5fa856463f 100644 --- a/nx-dev/data-access-documents/src/lib/blog.model.ts +++ b/nx-dev/data-access-documents/src/lib/blog.model.ts @@ -18,6 +18,9 @@ export type BlogPostDataEntry = { podcastAppleUrl?: string; podcastIHeartUrl?: string; published?: boolean; + ogImage?: string; + ogImageType?: string; + metrics?: Array<{ value: string; label: string }>; }; export type BlogAuthor = { diff --git a/nx-dev/nx-dev/app/blog/[slug]/page.tsx b/nx-dev/nx-dev/app/blog/[slug]/page.tsx index 3ffd23d03c..12bb800ae9 100644 --- a/nx-dev/nx-dev/app/blog/[slug]/page.tsx +++ b/nx-dev/nx-dev/app/blog/[slug]/page.tsx @@ -47,12 +47,14 @@ export default async function BlogPostDetail({ }: BlogPostDetailProps) { const ctaHeaderConfig = [tryNxCloudForFree]; const blog = await blogApi.getBlogPostBySlug(slug); + const allPosts = await blogApi.getBlogs((p) => !!p.published); + return blog ? ( <> {/* This empty div is necessary as app router does not automatically scroll on route changes */}