diff options
Diffstat (limited to 'examples/docs/src/components/HeadSEO.astro')
-rw-r--r-- | examples/docs/src/components/HeadSEO.astro | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/examples/docs/src/components/HeadSEO.astro b/examples/docs/src/components/HeadSEO.astro index 75d17bea1..c40e04327 100644 --- a/examples/docs/src/components/HeadSEO.astro +++ b/examples/docs/src/components/HeadSEO.astro @@ -1,35 +1,32 @@ --- -import { SITE, OPEN_GRAPH } from '../config'; +import { SITE, OPEN_GRAPH, Frontmatter } from '../config'; + export interface Props { - frontmatter: any; - site: any; - canonicalURL: URL | string; + frontmatter: Frontmatter; + canonicalUrl: URL; } -const canonicalURL = new URL(Astro.url.pathname, Astro.site); -const { frontmatter = {} } = Astro.props; -const formattedContentTitle = frontmatter.title - ? `${frontmatter.title} 🚀 ${SITE.title}` - : SITE.title; -const imageSrc = frontmatter?.image?.src ?? OPEN_GRAPH.image.src; +const { frontmatter, canonicalUrl } = Astro.props as Props; +const formattedContentTitle = `${frontmatter.title} 🚀 ${SITE.title}`; +const imageSrc = frontmatter.image?.src ?? OPEN_GRAPH.image.src; const canonicalImageSrc = new URL(imageSrc, Astro.site); -const imageAlt = frontmatter?.image?.alt ?? OPEN_GRAPH.image.alt; +const imageAlt = frontmatter.image?.alt ?? OPEN_GRAPH.image.alt; --- <!-- Page Metadata --> -<link rel="canonical" href={canonicalURL} /> +<link rel="canonical" href={canonicalUrl} /> <!-- OpenGraph Tags --> <meta property="og:title" content={formattedContentTitle} /> <meta property="og:type" content="article" /> -<meta property="og:url" content={canonicalURL} /> +<meta property="og:url" content={canonicalUrl} /> <meta property="og:locale" content={frontmatter.ogLocale ?? SITE.defaultLanguage} /> <meta property="og:image" content={canonicalImageSrc} /> <meta property="og:image:alt" content={imageAlt} /> <meta name="description" property="og:description" - content={frontmatter.description ? frontmatter.description : SITE.description} + content={frontmatter.description ?? SITE.description} /> <meta property="og:site_name" content={SITE.title} /> @@ -37,10 +34,7 @@ const imageAlt = frontmatter?.image?.alt ?? OPEN_GRAPH.image.alt; <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content={OPEN_GRAPH.twitter} /> <meta name="twitter:title" content={formattedContentTitle} /> -<meta - name="twitter:description" - content={frontmatter.description ? frontmatter.description : SITE.description} -/> +<meta name="twitter:description" content={frontmatter.description ?? SITE.description} /> <meta name="twitter:image" content={canonicalImageSrc} /> <meta name="twitter:image:alt" content={imageAlt} /> |