1--- 2import { SITE, OPEN_GRAPH, type Frontmatter } from '../config'; 3 4export interface Props { 5 frontmatter: Frontmatter; 6 canonicalUrl: URL; 7} 8 9const { frontmatter, canonicalUrl } = Astro.props as Props; 10const formattedContentTitle = `${frontmatter.title} 🚀 ${SITE.title}`; 11const imageSrc = frontmatter.image?.src ?? OPEN_GRAPH.image.src; 12const canonicalImageSrc = new URL(imageSrc, Astro.site); 13const imageAlt = frontmatter.image?.alt ?? OPEN_GRAPH.image.alt; 14--- 15 16<!-- Page Metadata --> 17<link rel="canonical" href={canonicalUrl} /> 18 19<!-- og Tags --> 20<meta property="og:title" content={formattedContentTitle} /> 21<meta property="og:type" content="article" /> 22<meta property="og:url" content={canonicalUrl} /> 23<meta property="og:locale" content={frontmatter.ogLocale ?? SITE.defaultLanguage} /> 24<meta property="og:image" content={canonicalImageSrc} /> 25<meta property="og:image:alt" content={imageAlt} /> 26<meta name="description" property="og:description" content={frontmatter.description ?? SITE.description} /> 27<meta property="og:site_name" content={SITE.title} />