feat: set og:type to article for posts (#183)

* New prop setOGTypeArticle sets og:type to "article" for posts, and "website" for every other page.

* Fixed error where I declared setOGTypeArticle twice.
This commit is contained in:
David V. Kimball
2024-09-16 22:35:58 -07:00
committed by GitHub
parent 44fb628737
commit 7a022cc190
3 changed files with 11 additions and 4 deletions

View File

@@ -22,9 +22,10 @@ interface Props {
banner?: string
description?: string
lang?: string
setOGTypeArticle?: boolean
}
let { title, banner, description, lang } = Astro.props
let { title, banner, description, lang, setOGTypeArticle } = Astro.props
// apply a class to the body element to decide the height of the banner, only used for initial page load
// Swup can update the body for each page visit, but it's after the page transition, causing a delay for banner height change
@@ -82,6 +83,11 @@ const bannerOffset = bannerOffsetByPosition[siteConfig.banner.position || 'cente
<meta property="og:url" content={Astro.url}>
<meta property="og:title" content={pageTitle}>
<meta property="og:description" content={description || pageTitle}>
{setOGTypeArticle ? (
<meta property="og:type" content="article" />
) : (
<meta property="og:type" content="website" />
)}
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:url" content={Astro.url}>