+ {renderPostHeader()}
-
- {renderPostHeader()}
+ {image && (
+
+ )}
- {image && (
-
- )}
+
+ {children}
+
-
- {children}
-
+ {(tags.length > 0 || truncated) && (
+
- >
+ {!isBlogPostPage && truncated && (
+
+
+
+
+ Read More
+
+
+
+
+ )}
+
+ )}
+
);
}
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostPage/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostPage/index.tsx
index 455cfa7f48..d6cf19c4c7 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogPostPage/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogPostPage/index.tsx
@@ -6,6 +6,7 @@
*/
import React from 'react';
+import Seo from '@theme/Seo';
import BlogLayout from '@theme/BlogLayout';
import BlogPostItem from '@theme/BlogPostItem';
import BlogPostPaginator from '@theme/BlogPostPaginator';
@@ -15,13 +16,14 @@ import {ThemeClassNames} from '@docusaurus/theme-common';
function BlogPostPage(props: Props): JSX.Element {
const {content: BlogPostContents, sidebar} = props;
const {frontMatter, frontMatterAssets, metadata} = BlogPostContents;
- const {title, description, nextItem, prevItem} = metadata;
- const {hide_table_of_contents: hideTableOfContents} = frontMatter;
+ const {title, description, nextItem, prevItem, date, tags} = metadata;
+ const {hide_table_of_contents: hideTableOfContents, keywords} = frontMatter;
+
+ const image = frontMatterAssets.image ?? frontMatter.image;
+ const authorURL = frontMatter.author_url || frontMatter.authorURL;
return (