From cbff487516facb06db55cdccfa80c6ed201aefb2 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Thu, 12 Aug 2021 16:10:19 +0300 Subject: [PATCH] fix: author/image adjustments in BlogPosting schema (#5346) --- .../src/theme/BlogPostStructuredData/index.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostStructuredData/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostStructuredData/index.tsx index db0b305876..1cd85aa307 100644 --- a/packages/docusaurus-theme-classic/src/theme/BlogPostStructuredData/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/BlogPostStructuredData/index.tsx @@ -7,16 +7,17 @@ import React from 'react'; import Head from '@docusaurus/Head'; +import {useBaseUrlUtils} from '@docusaurus/useBaseUrl'; import type {Props} from '@theme/BlogPostStructuredData'; function BlogPostStructuredData(props: Props): JSX.Element { + const {withBaseUrl} = useBaseUrlUtils(); const {frontMatter, frontMatterAssets, metadata} = props; const {date, title, description} = metadata; const image = frontMatterAssets.image ?? frontMatter.image; - + const {author} = frontMatter; const authorURL = frontMatter.author_url || frontMatter.authorURL; - const authorTitle = frontMatter.author_title || frontMatter.authorTitle; // details on structured data support: https://developers.google.com/search/docs/data-types/article#non-amp // and https://schema.org/BlogPosting @@ -25,11 +26,11 @@ function BlogPostStructuredData(props: Props): JSX.Element { '@type': 'BlogPosting', headline: title, description, - ...(image ? {image: [image]} : {}), + ...(image ? {image: [withBaseUrl(image, {absolute: true})]} : {}), datePublished: date, author: { '@type': 'Person', - name: authorTitle, + ...(author ? {name: author} : {}), url: authorURL, }, };