From 8152b47bba418753923bcff9f899b01fc8a72e04 Mon Sep 17 00:00:00 2001 From: 38elements <38elements@users.noreply.github.com> Date: Wed, 18 Mar 2020 19:05:40 +0900 Subject: [PATCH] fix(v2): fix external URL for og:image tag (#2420) * fix(v2): og:image * Use isInternalUrl() * Update index.js * Update index.js * Update index.js * Update index.js * Update index.js Co-authored-by: Yangshun Tay --- .../docusaurus-theme-classic/src/theme/DocItem/index.js | 6 +++++- .../docusaurus-theme-classic/src/theme/Layout/index.js | 9 +++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/docusaurus-theme-classic/src/theme/DocItem/index.js b/packages/docusaurus-theme-classic/src/theme/DocItem/index.js index 8325244d35..96b77ffa09 100644 --- a/packages/docusaurus-theme-classic/src/theme/DocItem/index.js +++ b/packages/docusaurus-theme-classic/src/theme/DocItem/index.js @@ -8,6 +8,7 @@ import React from 'react'; import Head from '@docusaurus/Head'; +import isInternalUrl from '@docusaurus/isInternalUrl'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import useBaseUrl from '@docusaurus/useBaseUrl'; import DocPaginator from '@theme/DocPaginator'; @@ -75,7 +76,10 @@ function DocItem(props) { }, } = DocContent; - const metaImageUrl = siteUrl + useBaseUrl(metaImage); + let metaImageUrl = siteUrl + useBaseUrl(metaImage); + if (!isInternalUrl(metaImage)) { + metaImageUrl = metaImage; + } return ( <> diff --git a/packages/docusaurus-theme-classic/src/theme/Layout/index.js b/packages/docusaurus-theme-classic/src/theme/Layout/index.js index 571a10db98..e733f40ee5 100644 --- a/packages/docusaurus-theme-classic/src/theme/Layout/index.js +++ b/packages/docusaurus-theme-classic/src/theme/Layout/index.js @@ -7,6 +7,7 @@ import React from 'react'; import Head from '@docusaurus/Head'; +import isInternalUrl from '@docusaurus/isInternalUrl'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import useBaseUrl from '@docusaurus/useBaseUrl'; @@ -36,8 +37,12 @@ function Layout(props) { version, } = props; const metaTitle = title ? `${title} | ${siteTitle}` : siteTitle; - const metaImage = image || defaultImage; - const metaImageUrl = siteUrl + useBaseUrl(metaImage); + + let metaImageUrl = siteUrl + useBaseUrl(metaImage); + if (!isInternalUrl(metaImage)) { + metaImageUrl = metaImage; + } + const faviconUrl = useBaseUrl(favicon); return (