mirror of
https://github.com/facebook/docusaurus.git
synced 2025-06-07 05:12:31 +02:00
fix(v2): use page title from config if not set (#4600)
This commit is contained in:
parent
6b0df65786
commit
2b4a52e27a
3 changed files with 16 additions and 15 deletions
|
@ -82,15 +82,13 @@ function CanonicalUrlHeaders({permalink}: {permalink?: string}) {
|
|||
|
||||
export default function LayoutHead(props: Props): JSX.Element {
|
||||
const {
|
||||
siteConfig,
|
||||
siteConfig: {
|
||||
favicon,
|
||||
themeConfig: {metadatas},
|
||||
},
|
||||
i18n: {currentLocale, localeConfigs},
|
||||
} = useDocusaurusContext();
|
||||
const {
|
||||
favicon,
|
||||
themeConfig: {image: defaultImage, metadatas},
|
||||
} = siteConfig;
|
||||
const {title, description, image, keywords, searchMetadatas} = props;
|
||||
|
||||
const faviconUrl = useBaseUrl(favicon);
|
||||
|
||||
// See https://github.com/facebook/docusaurus/issues/3317#issuecomment-754661855
|
||||
|
@ -105,7 +103,7 @@ export default function LayoutHead(props: Props): JSX.Element {
|
|||
{favicon && <link rel="shortcut icon" href={faviconUrl} />}
|
||||
</Head>
|
||||
|
||||
<Seo {...{title, description, keywords, image: image || defaultImage}} />
|
||||
<Seo {...{title, description, keywords, image}} />
|
||||
|
||||
<CanonicalUrlHeaders />
|
||||
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
|
||||
import React from 'react';
|
||||
import Head from '@docusaurus/Head';
|
||||
import {useThemeConfig, useTitleFormatter} from '@docusaurus/theme-common';
|
||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||||
import {useTitleFormatter} from '@docusaurus/theme-common';
|
||||
|
||||
import type {Props} from '@theme/Seo';
|
||||
|
||||
export default function Seo({
|
||||
|
@ -17,13 +18,14 @@ export default function Seo({
|
|||
keywords,
|
||||
image,
|
||||
}: Props): JSX.Element {
|
||||
const metaTitle = useTitleFormatter(title);
|
||||
const metaImageUrl = useBaseUrl(image, {absolute: true});
|
||||
const {image: defaultImage} = useThemeConfig();
|
||||
const pageTitle = useTitleFormatter(title);
|
||||
const pageImage = useBaseUrl(image || defaultImage, {absolute: true});
|
||||
|
||||
return (
|
||||
<Head>
|
||||
{title && <title>{metaTitle}</title>}
|
||||
{title && <meta property="og:title" content={metaTitle} />}
|
||||
<title>{pageTitle}</title>
|
||||
<meta property="og:title" content={pageTitle} />
|
||||
|
||||
{description && <meta name="description" content={description} />}
|
||||
{description && <meta property="og:description" content={description} />}
|
||||
|
@ -37,9 +39,9 @@ export default function Seo({
|
|||
/>
|
||||
)}
|
||||
|
||||
{image && <meta property="og:image" content={metaImageUrl} />}
|
||||
{image && <meta name="twitter:image" content={metaImageUrl} />}
|
||||
{image && <meta name="twitter:card" content="summary_large_image" />}
|
||||
{pageImage && <meta property="og:image" content={pageImage} />}
|
||||
{pageImage && <meta name="twitter:image" content={pageImage} />}
|
||||
{pageImage && <meta name="twitter:card" content="summary_large_image" />}
|
||||
</Head>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -100,6 +100,7 @@ export type ThemeConfig = {
|
|||
prism: PrismConfig;
|
||||
footer?: Footer;
|
||||
hideableSidebar: boolean;
|
||||
image: string;
|
||||
};
|
||||
|
||||
export function useThemeConfig(): ThemeConfig {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue