From f0e300072bc0e807e5be28d7a79134c6ce1a03ea Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Fri, 2 Feb 2024 10:45:04 +0800 Subject: [PATCH 1/9] log --- components/GlobalHead.js | 1 - 1 file changed, 1 deletion(-) diff --git a/components/GlobalHead.js b/components/GlobalHead.js index 92465d4a..4723c218 100644 --- a/components/GlobalHead.js +++ b/components/GlobalHead.js @@ -85,7 +85,6 @@ const GlobalHead = (props) => { * @param {*} router */ const getSEOMeta = (props, router, global) => { - console.log(props, router) const { locale } = global const { post, tag, category, page } = props const keyword = router?.query?.s From 5eb2b6c804d7ac878a5f1ad6f58ef9710f9ba9dc Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Fri, 2 Feb 2024 10:45:19 +0800 Subject: [PATCH 2/9] Heo WWWAds --- themes/heo/index.js | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/themes/heo/index.js b/themes/heo/index.js index 5e7aa3ab..54d328ed 100644 --- a/themes/heo/index.js +++ b/themes/heo/index.js @@ -65,13 +65,10 @@ const LayoutBase = props => { {/* 通知横幅 */} {router.route === '/' ? <> - - - + + + : null} -
- -
{fullWidth ? null : } ) @@ -270,11 +267,7 @@ const LayoutSlug = props => { siteConfig('COMMENT_GITALK_CLIENT_ID') || siteConfig('COMMENT_WEBMENTION_ENABLE') return ( -
+ <>
{lock && } @@ -334,7 +327,7 @@ const LayoutSlug = props => { )}
-
+ ) } From 00ed1d92348f2faafe27ece449be6096b1149d6a Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Fri, 2 Feb 2024 10:45:29 +0800 Subject: [PATCH 3/9] Hexo NavBar TextColor --- themes/hexo/components/TopNav.js | 1 + 1 file changed, 1 insertion(+) diff --git a/themes/hexo/components/TopNav.js b/themes/hexo/components/TopNav.js index 541a99a7..6f199fa6 100644 --- a/themes/hexo/components/TopNav.js +++ b/themes/hexo/components/TopNav.js @@ -41,6 +41,7 @@ const TopNav = props => { useEffect(() => { window.addEventListener('scroll', topNavStyleHandler) router.events.on('routeChangeComplete', topNavStyleHandler) + topNavStyleHandler() return () => { router.events.off('routeChangeComplete', topNavStyleHandler) window.removeEventListener('scroll', topNavStyleHandler) From 38e6376f5a6659c2785e0ce1df78ae6a8c3861fa Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Fri, 2 Feb 2024 10:49:58 +0800 Subject: [PATCH 4/9] =?UTF-8?q?Next=E4=B8=BB=E9=A2=98=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E7=A7=BB=E5=8A=A8=E7=AB=AF=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- themes/next/components/TopNav.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/themes/next/components/TopNav.js b/themes/next/components/TopNav.js index 9cf2a1aa..1689fdfb 100644 --- a/themes/next/components/TopNav.js +++ b/themes/next/components/TopNav.js @@ -11,6 +11,7 @@ import TagGroups from './TagGroups' import CONFIG from '../config' import { siteConfig } from '@/lib/config' import { useNextGlobal } from '..' +import { useRouter } from 'next/router' let windowTop = 0 @@ -24,6 +25,7 @@ const TopNav = (props) => { const { locale } = useGlobal() const searchDrawer = useRef() const collapseRef = useRef(null) + const router = useRouter() const scrollTrigger = useCallback(throttle(() => { const scrollS = window.scrollY @@ -51,6 +53,21 @@ const TopNav = (props) => { const [isOpen, changeShow] = useState(false) + // 监听滚动 + useEffect(() => { + router.events.on('routeChangeComplete', menuCollapseHide) + return () => { + router.events.off('routeChangeComplete', menuCollapseHide) + } + }, []) + + /** + * 点击切换页面后关闭这点菜单 + */ + const menuCollapseHide = () => { + changeShow(false) + } + const toggleMenuOpen = () => { changeShow(!isOpen) } From 464c3add92329a7263d6360c807a05561b2b7fe9 Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Fri, 2 Feb 2024 11:01:05 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/_app.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pages/_app.js b/pages/_app.js index 6bf73a76..bc03f2c1 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -17,16 +17,22 @@ import useAdjustStyle from '@/hooks/useAdjustStyle' // 各种扩展插件 这个要阻塞引入 import ExternalPlugins from '@/components/ExternalPlugins' -import { THEME } from '@/blog.config' import GlobalHead from '@/components/GlobalHead' +import { siteConfig } from '@/lib/config' +import BLOG from '@/blog.config' +/** + * App挂载DOM 入口文件 + * @param {*} param0 + * @returns + */ const MyApp = ({ Component, pageProps }) => { // 一些可能出现 bug 的样式,可以统一放入该钩子进行调整 useAdjustStyle(); const route = useRouter() const queryParam = useMemo(() => { - return getQueryParam(route.asPath, 'theme') || THEME + return getQueryParam(route.asPath, 'theme') || siteConfig('THEME', BLOG.THEME, pageProps.NOTION_CONFIG) }, [route]) // 整体布局 From f568bc32ecd5ee2991c78bb8345399e5f970d66d Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Fri, 2 Feb 2024 11:32:27 +0800 Subject: [PATCH 6/9] fix build failed on post external slug --- lib/utils.js | 4 ++-- pages/[prefix]/[slug]/[...suffix].js | 5 ++++- pages/[prefix]/[slug]/index.js | 5 ++++- pages/[prefix]/index.js | 6 ++++-- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/utils.js b/lib/utils.js index a892c275..d632e1c3 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -34,7 +34,7 @@ export const memorize = (Component) => { // 转换外链 export function sliceUrlFromHttp(str) { // 检查字符串是否包含http - if (str.includes('http')) { + if (str.includes('http:') || str.includes('https:')) { // 如果包含,找到http的位置 const index = str.indexOf('http'); // 返回http之后的部分 @@ -48,7 +48,7 @@ export function sliceUrlFromHttp(str) { // 检查是否外链 export function checkContainHttp(str) { // 检查字符串是否包含http - if (str.includes('http')) { + if (str.includes('http:') || str.includes('https:')) { // 如果包含,找到http的位置 return str.indexOf('http') > -1 } else { diff --git a/pages/[prefix]/[slug]/[...suffix].js b/pages/[prefix]/[slug]/[...suffix].js index 67f099d7..f33fe20f 100644 --- a/pages/[prefix]/[slug]/[...suffix].js +++ b/pages/[prefix]/[slug]/[...suffix].js @@ -5,6 +5,7 @@ import { idToUuid } from 'notion-utils' import { getNotion } from '@/lib/notion/getNotion' import Slug, { getRecommendPost } from '..' import { uploadDataToAlgolia } from '@/lib/algolia' +import { checkContainHttp } from '@/lib/utils' /** * 根据notion的slug访问页面 @@ -30,8 +31,10 @@ export async function getStaticPaths() { const from = 'slug-paths' const { allPages } = await getGlobalData({ from }) + return { - paths: allPages?.filter(row => hasMultipleSlashes(row.slug) && row.type.indexOf('Menu') < 0).map(row => ({ params: { prefix: row.slug.split('/')[0], slug: row.slug.split('/')[1], suffix: row.slug.split('/').slice(1) } })), + paths: allPages?.filter(row => hasMultipleSlashes(row.slug) && row.type.indexOf('Menu') < 0 && !checkContainHttp(row.slug)) + .map(row => ({ params: { prefix: row.slug.split('/')[0], slug: row.slug.split('/')[1], suffix: row.slug.split('/').slice(1) } })), fallback: true } } diff --git a/pages/[prefix]/[slug]/index.js b/pages/[prefix]/[slug]/index.js index 4571b791..0c8fbffb 100644 --- a/pages/[prefix]/[slug]/index.js +++ b/pages/[prefix]/[slug]/index.js @@ -5,6 +5,7 @@ import { idToUuid } from 'notion-utils' import { getNotion } from '@/lib/notion/getNotion' import Slug, { getRecommendPost } from '..' import { uploadDataToAlgolia } from '@/lib/algolia' +import { checkContainHttp } from '@/lib/utils' /** * 根据notion的slug访问页面 @@ -26,8 +27,10 @@ export async function getStaticPaths() { const from = 'slug-paths' const { allPages } = await getGlobalData({ from }) + const paths = allPages?.filter(row => row.slug.indexOf('/') > 0 && !checkContainHttp(row.slug) && row.type.indexOf('Menu') < 0) + .map(row => ({ params: { prefix: row.slug.split('/')[0], slug: row.slug.split('/')[1] } })) return { - paths: allPages?.filter(row => row.slug.indexOf('/') > 0 && row.type.indexOf('Menu') < 0).map(row => ({ params: { prefix: row.slug.split('/')[0], slug: row.slug.split('/')[1] } })), + paths: paths, fallback: true } } diff --git a/pages/[prefix]/index.js b/pages/[prefix]/index.js index 036f585b..f9827f9b 100644 --- a/pages/[prefix]/index.js +++ b/pages/[prefix]/index.js @@ -8,7 +8,7 @@ import { getNotion } from '@/lib/notion/getNotion' import { getPageTableOfContents } from '@/lib/notion/getPageTableOfContents' import { getLayoutByTheme } from '@/themes/theme' import md5 from 'js-md5' -import { isBrowser } from '@/lib/utils' +import { checkContainHttp, isBrowser } from '@/lib/utils' import { uploadDataToAlgolia } from '@/lib/algolia' import { siteConfig } from '@/lib/config' @@ -82,8 +82,10 @@ export async function getStaticPaths() { const from = 'slug-paths' const { allPages } = await getGlobalData({ from }) + const paths = allPages?.filter(row => row.slug.indexOf('/') > 0 && !checkContainHttp(row.slug) && row.type.indexOf('Menu') < 0) + .map(row => ({ params: { prefix: row.slug } })) return { - paths: allPages?.filter(row => row.slug.indexOf('/') < 0 && row.type.indexOf('Menu') < 0).map(row => ({ params: { prefix: row.slug } })), + paths: paths, fallback: true } } From e8088fb4dd374e79366b45a9c1d125f2dc8057bf Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Fri, 2 Feb 2024 11:43:35 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/_app.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pages/_app.js b/pages/_app.js index bc03f2c1..9b6a74bc 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -18,7 +18,6 @@ import useAdjustStyle from '@/hooks/useAdjustStyle' // 各种扩展插件 这个要阻塞引入 import ExternalPlugins from '@/components/ExternalPlugins' import GlobalHead from '@/components/GlobalHead' -import { siteConfig } from '@/lib/config' import BLOG from '@/blog.config' /** @@ -32,7 +31,7 @@ const MyApp = ({ Component, pageProps }) => { const route = useRouter() const queryParam = useMemo(() => { - return getQueryParam(route.asPath, 'theme') || siteConfig('THEME', BLOG.THEME, pageProps.NOTION_CONFIG) + return getQueryParam(route.asPath, 'theme') || pageProps?.NOTION_CONFIG?.THEME || BLOG.THEME }, [route]) // 整体布局 From 8c28bb0ad564d3df6e090437465fec35aee6978e Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Fri, 2 Feb 2024 11:44:10 +0800 Subject: [PATCH 8/9] gitalk check --- components/Gitalk.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/components/Gitalk.js b/components/Gitalk.js index 23bda017..b60d0cd0 100644 --- a/components/Gitalk.js +++ b/components/Gitalk.js @@ -21,6 +21,11 @@ const Gitalk = ({ frontMatter }) => { await loadExternalResource(gitalkCSSCDN, 'css') await loadExternalResource(gitalkJSCDN, 'js') const Gitalk = window.Gitalk + if (!Gitalk) { + // 可以加入延时重试 + console.warn('Gitalk 初始化失败') + return + } const gitalk = new Gitalk({ clientID: clientId, clientSecret: clientSecret, From f59bf203e842686d38f7e0d9a3c4b7ee119178c5 Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Fri, 2 Feb 2024 11:45:40 +0800 Subject: [PATCH 9/9] clean code --- components/NotionPage.js | 7 ------- 1 file changed, 7 deletions(-) diff --git a/components/NotionPage.js b/components/NotionPage.js index 58153fbd..b3be2174 100644 --- a/components/NotionPage.js +++ b/components/NotionPage.js @@ -7,13 +7,6 @@ import { isBrowser } from '@/lib/utils' import { siteConfig } from '@/lib/config' import { NotionRenderer } from 'react-notion-x' -// Notion渲染 -// const NotionRenderer = dynamic(() => import('react-notion-x').then(async (m) => { -// return m.NotionRenderer -// }), { -// ssr: false -// }) - const Code = dynamic(() => import('react-notion-x/build/third-party/code').then(async (m) => { return m.Code