--- import merge from 'lodash.merge'; import type { ImageMetadata } from 'astro'; import Layout from '~/layouts/PageLayout.astro'; import SinglePost from '~/components/blog/SinglePost.astro'; import ToBlogLink from '~/components/blog/ToBlogLink.astro'; import { getCanonical, getPermalink } from '~/utils/permalinks'; import { getStaticPathsBlogPost, blogPostRobots } from '~/utils/blog'; import { findImage } from '~/utils/images'; export const getStaticPaths = getStaticPathsBlogPost(); const { post } = Astro.props; const url = getCanonical(getPermalink(post.permalink, 'post')); const image = (await findImage(post.image)) as ImageMetadata | undefined; const metadata = merge( { title: post.title, description: post.excerpt, robots: { index: blogPostRobots?.index, follow: blogPostRobots?.follow, }, openGraph: { type: 'article', ...(image ? { images: [{ url: image?.src, width: image?.width, height: image?.height }] } : {}), }, }, { ...(post?.metadata ? { ...post.metadata, canonical: post.metadata?.canonical || url } : {}) } ); ---