From 2da448f4f8608ce7badd2ff1eff768290e7dd5ef Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Thu, 9 May 2024 16:02:21 +0800 Subject: [PATCH] =?UTF-8?q?GlobalHead=20=E7=9A=84=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/GlobalHead.js | 83 +++++++++++++++++++++++++++------------- 1 file changed, 57 insertions(+), 26 deletions(-) diff --git a/components/GlobalHead.js b/components/GlobalHead.js index 0dbf8739..0bd3dcca 100644 --- a/components/GlobalHead.js +++ b/components/GlobalHead.js @@ -6,18 +6,18 @@ import { useRouter } from 'next/router' import { useEffect } from 'react' /** - * 页面的Head头,通常有用于SEO + * 页面的Head头,有用于SEO * @param {*} param0 * @returns */ const GlobalHead = props => { - const { children, siteInfo, post } = props + const { children, siteInfo, post, NOTION_CONFIG } = props let url = siteConfig('PATH')?.length ? `${siteConfig('LINK')}/${siteConfig('SUB_PATH', '')}` : siteConfig('LINK') let image const router = useRouter() - const meta = getSEOMeta(props, router, useGlobal()) + const meta = getSEOMeta(props, router, useGlobal()?.locale) if (meta) { url = `${url}/${meta.slug}` image = meta.image || '/bg_image.jpg' @@ -29,7 +29,45 @@ const GlobalHead = props => { const category = meta?.category || siteConfig('KEYWORDS') // section 主要是像是 category 這樣的分類,Facebook 用這個來抓連結的分類 const favicon = siteConfig('BLOG_FAVICON') const webFontUrl = siteConfig('FONT_URL') + const BACKGROUND_DARK = siteConfig('BACKGROUND_DARK', '', NOTION_CONFIG) + const SEO_BAIDU_SITE_VERIFICATION = siteConfig( + 'SEO_BAIDU_SITE_VERIFICATION', + null, + NOTION_CONFIG + ) + + const SEO_GOOGLE_SITE_VERIFICATION = siteConfig( + 'SEO_GOOGLE_SITE_VERIFICATION', + null, + NOTION_CONFIG + ) + + const BLOG_FAVICON = siteConfig('BLOG_FAVICON', null, NOTION_CONFIG) + + const COMMENT_WEBMENTION_ENABLE = siteConfig( + 'COMMENT_WEBMENTION_ENABLE', + null, + NOTION_CONFIG + ) + + const COMMENT_WEBMENTION_HOSTNAME = siteConfig( + 'COMMENT_WEBMENTION_HOSTNAME', + null, + NOTION_CONFIG + ) + const COMMENT_WEBMENTION_AUTH = siteConfig( + 'COMMENT_WEBMENTION_AUTH', + null, + NOTION_CONFIG + ) + const ANALYTICS_BUSUANZI_ENABLE = siteConfig( + 'ANALYTICS_BUSUANZI_ENABLE', + null, + NOTION_CONFIG + ) + + const FACEBOOK_PAGE = siteConfig('FACEBOOK_PAGE', null, NOTION_CONFIG) // SEO关键词 let keywords = meta?.tags || siteConfig('KEYWORDS') if (post?.tags && post?.tags?.length > 0) { @@ -59,24 +97,23 @@ const GlobalHead = props => { {title} - - + - {siteConfig('SEO_GOOGLE_SITE_VERIFICATION') && ( + {SEO_GOOGLE_SITE_VERIFICATION && ( )} - {siteConfig('SEO_BAIDU_SITE_VERIFICATION') && ( + {SEO_BAIDU_SITE_VERIFICATION && ( )} @@ -86,33 +123,31 @@ const GlobalHead = props => { - + - + - {siteConfig('COMMENT_WEBMENTION_ENABLE') && ( + {COMMENT_WEBMENTION_ENABLE && ( <> + {COMMENT_WEBMENTION_AUTH && ( + + )} )} - {siteConfig('COMMENT_WEBMENTION_ENABLE') && - siteConfig('COMMENT_WEBMENTION_AUTH') !== '' && ( - - )} - - {JSON.parse(siteConfig('ANALYTICS_BUSUANZI_ENABLE')) && ( + {ANALYTICS_BUSUANZI_ENABLE && ( )} {meta?.type === 'Post' && ( @@ -120,10 +155,7 @@ const GlobalHead = props => { - + )} {children} @@ -136,8 +168,7 @@ const GlobalHead = props => { * @param {*} props * @param {*} router */ -const getSEOMeta = (props, router, global) => { - const { locale } = global +const getSEOMeta = (props, router, locale) => { const { post, siteInfo, tag, category, page } = props const keyword = router?.query?.s