summaryrefslogtreecommitdiff
path: root/examples/docs/src/components/HeadSEO.astro
diff options
context:
space:
mode:
Diffstat (limited to 'examples/docs/src/components/HeadSEO.astro')
-rw-r--r--examples/docs/src/components/HeadSEO.astro30
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} />