diff --git a/.github/workflows/auto-deploy.yml b/.github/workflows/auto-deploy.yml new file mode 100644 index 00000000000..073452ea7b2 --- /dev/null +++ b/.github/workflows/auto-deploy.yml @@ -0,0 +1,16 @@ +name: Auto Deploy to Cloudflare + +on: + schedule: + # 每天北京时间凌晨 4 点 (UTC 20:00) 执行一次 + - cron: '0 20 * * *' + workflow_dispatch: # 允许手动点击按钮触发 + +jobs: + trigger-deploy: + runs-on: ubuntu-latest + steps: + - name: Trigger Cloudflare Deploy Hook + # 注意:这里引用的是 secrets.CF_DEPLOY_HOOK + # 请确保你在仓库 Settings -> Secrets and variables -> Actions 里已经添加了这个密钥 + run: curl -X POST "${{ secrets.CF_DEPLOY_HOOK }}" diff --git a/blog.config.js b/blog.config.js index 24c2a049cf2..95e4a921d50 100644 --- a/blog.config.js +++ b/blog.config.js @@ -6,7 +6,8 @@ const BLOG = { NOTION_PAGE_ID: process.env.NOTION_PAGE_ID || '02ab3b8678004aa69e9e415905ef32a5,en:7c1d570661754c8fbc568e00a01fd70e', - THEME: process.env.NEXT_PUBLIC_THEME || 'simple', // 当前主题,在themes文件夹下可找到所有支持的主题;主题名称就是文件夹名,例如 example,fukasawa,gitbook,heo,hexo,landing,matery,medium,next,nobelium,plog,simple + THEME: process.env.NEXT_PUBLIC_THEME || 'feitwnd', // 当前主题,在themes文件夹下可找到所有支持的主题;主题具体配置请参考`themes/主题名/config.js`awa,gitbook,heo,hexo,landing,matery,medium,next,nobelium,plog,simple + THEME_SWITCH: process.env.NEXT_PUBLIC_THEME_SWITCH || true, // 是否显示切换主题按钮 LANG: process.env.NEXT_PUBLIC_LANG || 'zh-CN', // e.g 'zh-CN','en-US' see /lib/lang.js for more. SINCE: process.env.NEXT_PUBLIC_SINCE || 2021, // e.g if leave this empty, current year will be used. @@ -17,7 +18,7 @@ const BLOG = { AUTHOR: process.env.NEXT_PUBLIC_AUTHOR || 'NotionNext', // 您的昵称 例如 tangly1024 BIO: process.env.NEXT_PUBLIC_BIO || '一个普通的干饭人🍚', // 作者简介 - LINK: process.env.NEXT_PUBLIC_LINK || 'https://tangly1024.com', // 网站地址 + LINK: process.env.NEXT_PUBLIC_LINK || 'https://jishu.nn.kg', // 网站地址 KEYWORDS: process.env.NEXT_PUBLIC_KEYWORD || 'Notion, 博客', // 网站关键词 英文逗号隔开 BLOG_FAVICON: process.env.NEXT_PUBLIC_FAVICON || '/favicon.ico', // blog favicon 配置, 默认使用 /public/favicon.ico,支持在线图片,如 https://img.imesong.com/favicon.png BEI_AN: process.env.NEXT_PUBLIC_BEI_AN || '', // 备案号 闽ICP备XXXXXX @@ -71,4 +72,4 @@ const BLOG = { UUID_REDIRECT: process.env.UUID_REDIRECT || false } -module.exports = BLOG \ No newline at end of file +module.exports = BLOG diff --git a/conf/font.config.js b/conf/font.config.js index 07035080d04..6161724e347 100644 --- a/conf/font.config.js +++ b/conf/font.config.js @@ -9,7 +9,7 @@ module.exports = { FONT_STYLE: process.env.NEXT_PUBLIC_FONT_STYLE || 'font-sans font-light', // 字体CSS 例如 https://npm.elemecdn.com/lxgw-wenkai-webfont@1.6.0/style.css FONT_URL: [ - // 'https://npm.elemecdn.com/lxgw-wenkai-webfont@1.6.0/style.css', + 'https://npm.elemecdn.com/lxgw-wenkai-webfont@latest/style.css', 'https://fonts.googleapis.com/css?family=Bitter:300,400,700&display=swap', 'https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&display=swap', 'https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@300;400;500;700&display=swap' @@ -21,7 +21,7 @@ module.exports = { FONT_SUBSET: process.env.NEXT_PUBLIC_FONT_SUBSET || 'chinese-simplified', // 无衬线字体 例如'"LXGW WenKai"' FONT_SANS: [ - // '"LXGW WenKai"', + '"LXGW WenKai"', '"PingFang SC"', '-apple-system', 'BlinkMacSystemFont', @@ -41,7 +41,7 @@ module.exports = { ], // 衬线字体 例如'"LXGW WenKai"' FONT_SERIF: [ - // '"LXGW WenKai"', + '"LXGW WenKai"', 'Bitter', '"Noto Serif SC"', 'SimSun', diff --git a/lib/config.js b/lib/config.js index 81ff88e3211..0d942382895 100644 --- a/lib/config.js +++ b/lib/config.js @@ -50,6 +50,10 @@ export const siteConfig = (key, defaultVal = null, extendConfig = {}) => { break } } + // 对于 THEME,优先使用本地 blog.config.js 定义的值 (为了强制 feitwnd 生效) + if (key === 'THEME') { + return convertVal(getValue(BLOG[key], defaultVal)) + } return convertVal( getValue(extendConfig[key], getValue(defaultVal, BLOG[key])) ) diff --git a/lib/db/notion/getPageTableOfContents.js b/lib/db/notion/getPageTableOfContents.js index 738c22031cf..b23228f42fa 100644 --- a/lib/db/notion/getPageTableOfContents.js +++ b/lib/db/notion/getPageTableOfContents.js @@ -64,6 +64,9 @@ function getBlockHeader(contents, recordMap, toc) { } for (const blockId of contents) { + if (!blockId) { + continue // 跳过无效的 blockId + } const block = recordMap.block[blockId]?.value if (!block) { continue @@ -83,11 +86,14 @@ function getBlockHeader(contents, recordMap, toc) { }) } } else if (type === 'transclusion_reference') { - getBlockHeader( - [block.format.transclusion_reference_pointer.id], - recordMap, - toc - ) + const transclusionId = block.format?.transclusion_reference_pointer?.id + if (transclusionId) { + getBlockHeader( + [transclusionId], + recordMap, + toc + ) + } } else if (type === 'transclusion_container') { getBlockHeader(block.content, recordMap, toc) } diff --git a/lib/db/notion/getPostBlocks.js b/lib/db/notion/getPostBlocks.js index 5d2b392dd47..5e2f055535c 100644 --- a/lib/db/notion/getPostBlocks.js +++ b/lib/db/notion/getPostBlocks.js @@ -99,8 +99,15 @@ export function formatNotionBlock(block) { delete clonedBlock[blockId] // 用子块替代同步块 childBlocks.forEach((childBlock, index) => { - const newBlockId = `${blockId}_child_${index}` - clonedBlock[newBlockId] = childBlock + // 确保 childBlock 有有效的结构 + if (!childBlock) return + + // 提取子块的实际数据 + const actualBlock = childBlock.value || childBlock + if (!actualBlock || !actualBlock.id) return + + const newBlockId = actualBlock.id || `${blockId}_child_${index}` + clonedBlock[newBlockId] = { value: actualBlock } blocksToProcess.splice(i + index + 1, 0, newBlockId) }) // 重新处理新加入的子块 @@ -134,7 +141,16 @@ export function formatNotionBlock(block) { } } - return clonedBlock + // 过滤掉没有有效 id 的 block + const filteredBlock = {} + for (const [id, block] of Object.entries(clonedBlock || {})) { + // 检查 block.value 是否存在且有效 + if (block?.value && (block.value.id || block.value.type)) { + filteredBlock[id] = block + } + } + + return filteredBlock } /** diff --git a/lib/utils/notion.util.js b/lib/utils/notion.util.js index db2190ff138..d7f623f66ac 100644 --- a/lib/utils/notion.util.js +++ b/lib/utils/notion.util.js @@ -4,8 +4,8 @@ * 旧版 block:{ value:{}} * 新版 block:{ spaceId:{ id:{ value:{} } } } * 强制解包成旧版 - * @param {*} blockMap - * @returns + * @param {*} blockMap + * @returns */ export function adapterNotionBlockMap(blockMap) { if (!blockMap) return blockMap; @@ -14,11 +14,19 @@ export function adapterNotionBlockMap(blockMap) { const cleanedCollection = {}; for (const [id, block] of Object.entries(blockMap.block || {})) { - cleanedBlocks[id] = { value: unwrapValue(block) }; + // 跳过没有 id 的 block + if (!id) continue; + const unwrappedValue = unwrapValue(block); + // 跳过没有 id 的 block value + if (!unwrappedValue || !unwrappedValue.id) continue; + cleanedBlocks[id] = { value: unwrappedValue }; } for (const [id, collection] of Object.entries(blockMap.collection || {})) { - cleanedCollection[id] = { value: unwrapValue(collection) }; + if (!id) continue; + const unwrappedValue = unwrapValue(collection); + if (!unwrappedValue || !unwrappedValue.id) continue; + cleanedCollection[id] = { value: unwrappedValue }; } return { diff --git a/pages/_app.js b/pages/_app.js index 26fac1513e4..5c6160c249c 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -12,6 +12,7 @@ import { getBaseLayoutByTheme } from '@/themes/theme' import { useRouter } from 'next/router' import { useCallback, useMemo } from 'react' import { getQueryParam } from '../lib/utils' +import { siteConfig } from '@/lib/config' // 各种扩展插件 这个要阻塞引入 import BLOG from '@/blog.config' @@ -37,8 +38,7 @@ const MyApp = ({ Component, pageProps }) => { const theme = useMemo(() => { return ( getQueryParam(route.asPath, 'theme') || - pageProps?.NOTION_CONFIG?.THEME || - BLOG.THEME + siteConfig('THEME', BLOG.THEME, pageProps?.NOTION_CONFIG) ) }, [route]) diff --git a/server_error.log b/server_error.log new file mode 100644 index 00000000000..ea1342890b9 --- /dev/null +++ b/server_error.log @@ -0,0 +1,104 @@ + +> notion-next@4.9.3.1 dev +> next dev + +Deleted existing sitemap.xml from public directory +Deleted existing sitemap.xml from root directory + 鈿?Port 3000 is in use, trying 3001 instead. + 鈿?Port 3001 is in use, trying 3002 instead. + 鈿?Port 3002 is in use, trying 3003 instead. + 鈿?Port 3003 is in use, trying 3004 instead. + 鈿?Port 3004 is in use, trying 3005 instead. + 鈿?Port 3005 is in use, trying 3006 instead. + 鈿?Port 3006 is in use, trying 3007 instead. + 鈻?Next.js 14.2.30 + - Local: http://localhost:3007 + - Experiments (use with caution): + 路 scrollRestoration + + 鉁?Starting... +[Locales] 02ab3b8678004aa69e9e415905ef32a5 +[Locales] en:7c1d570661754c8fbc568e00a01fd70e +[榛樿涓婚] E:\work\NotionNext\themes\feitwnd + 鉁?Ready in 3.6s + 鉁?Compiled /middleware in 178ms (215 modules) + 鈼?Compiling / ... +Browserslist: browsers data (caniuse-lite) is 9 months old. Please run: + npx update-browserslist-db@latest + Why you should do it regularly: https://github.com/browserslist/update-db#readme + 鉁?Compiled / in 2.7s (1004 modules) + 鉁?Compiled in 486ms (1004 modules) +[API-->>璇锋眰] from:index id:02ab3b8678004aa69e9e415905ef32a5 + GET / 200 in 3522ms +[API<<--鍝嶅簲] 鑰楁椂:4477ms - from:index +[API-->>璇锋眰] from:config-table id:8f4fe6b1-7a9e-43e0-bcfb-6edb50f10a62 +[API<<--鍝嶅簲] 鑰楁椂:1749ms - from:config-table +[API-->>璇锋眰] from:data-notice id:571f2540-eb8a-42ee-84f5-85f1583430ae +[API<<--鍝嶅簲] 鑰楁椂:584ms - from:data-notice +[RSS璁㈤槄] 鐢熸垚/rss/feed.xml +[API-->>璇锋眰] from:rss-content id:a6271da0-6b8f-47a3-9735-e8fa770f1d9f +[API<<--鍝嶅簲] 鑰楁椂:3462ms - from:rss-content +TypeError: Cannot read properties of undefined (reading 'replaceAll') + at uuidToId (file:///E:/work/NotionNext/node_modules/notion-utils/build/index.js:533:31) + at Block (file:///E:/work/NotionNext/node_modules/react-notion-x/build/index.js:2579:66) + at renderWithHooks (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5662:16) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5736:15) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5790:7) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderContextProvider (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5935:3) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6032:11) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + 猕?unhandledRejection: TypeError: Cannot read properties of undefined (reading 'replaceAll') + at uuidToId (file:///E:/work/NotionNext/node_modules/notion-utils/build/index.js:533:31) + at Block (file:///E:/work/NotionNext/node_modules/react-notion-x/build/index.js:2579:66) + at renderWithHooks (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5662:16) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5736:15) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5790:7) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderContextProvider (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5935:3) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6032:11) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + 猕?unhandledRejection: TypeError: Cannot read properties of undefined (reading 'replaceAll') + at uuidToId (file:///E:/work/NotionNext/node_modules/notion-utils/build/index.js:533:31) + at Block (file:///E:/work/NotionNext/node_modules/react-notion-x/build/index.js:2579:66) + at renderWithHooks (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5662:16) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5736:15) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5790:7) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderContextProvider (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5935:3) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6032:11) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + 鉁?Compiled in 857ms (1004 modules) + 鉁?Compiled /_error in 181ms (1004 modules) + 猕?Error: Cannot find module './heo ' + at E:\work\NotionNext\.next\server\pages\index.js:1210:11 + at process.processTicksAndRejections (node:internal/process/task_queues:105:5) { + code: 'MODULE_NOT_FOUND', + page: '/' +} + GET / 500 in 379ms + 鉁?Compiled in 10.1s (2914 modules) + [webpack.cache.PackFileCacheStrategy] Caching failed for pack: Error: ENOENT: no such file or directory, rename 'E:\work\NotionNext\.next\cache\webpack\server-development\1.pack.gz_' -> 'E:\work\NotionNext\.next\cache\webpack\server-development\1.pack.gz' + [webpack.cache.PackFileCacheStrategy] Caching failed for pack: Error: ENOENT: no such file or directory, rename 'E:\work\NotionNext\.next\cache\webpack\client-development\1.pack.gz_' -> 'E:\work\NotionNext\.next\cache\webpack\client-development\1.pack.gz' + 鉁?Compiled in 2.7s (2880 modules) + [webpack.cache.PackFileCacheStrategy] Caching failed for pack: Error: ENOENT: no such file or directory, rename 'E:\work\NotionNext\.next\cache\webpack\server-development\1.pack.gz_' -> 'E:\work\NotionNext\.next\cache\webpack\server-development\1.pack.gz' + [webpack.cache.PackFileCacheStrategy] Caching failed for pack: Error: ENOENT: no such file or directory, rename 'E:\work\NotionNext\.next\cache\webpack\client-development\2.pack.gz_' -> 'E:\work\NotionNext\.next\cache\webpack\client-development\2.pack.gz' + 鉁?Compiled in 4.2s (2880 modules) diff --git a/server_error2.log b/server_error2.log new file mode 100644 index 00000000000..264d2f6951b --- /dev/null +++ b/server_error2.log @@ -0,0 +1,148 @@ + +> notion-next@4.9.3.1 dev +> next dev + +Deleted existing sitemap.xml from public directory +Deleted existing sitemap.xml from root directory + 鈿?Port 3000 is in use, trying 3001 instead. + 鈿?Port 3001 is in use, trying 3002 instead. + 鈿?Port 3002 is in use, trying 3003 instead. + 鈿?Port 3003 is in use, trying 3004 instead. + 鈿?Port 3004 is in use, trying 3005 instead. + 鈿?Port 3005 is in use, trying 3006 instead. + 鈿?Port 3006 is in use, trying 3007 instead. + 鈿?Port 3007 is in use, trying 3008 instead. + 鈻?Next.js 14.2.30 + - Local: http://localhost:3008 + - Experiments (use with caution): + 路 scrollRestoration + + 鉁?Starting... +[Locales] 02ab3b8678004aa69e9e415905ef32a5 +[Locales] en:7c1d570661754c8fbc568e00a01fd70e +[榛樿涓婚] E:\work\NotionNext\themes\feitwnd + 鉁?Ready in 3.6s + 鉁?Compiled /middleware in 221ms (215 modules) + 鈼?Compiling / ... +Browserslist: browsers data (caniuse-lite) is 9 months old. Please run: + npx update-browserslist-db@latest + Why you should do it regularly: https://github.com/browserslist/update-db#readme + 鉁?Compiled / in 14.2s (2914 modules) + 鉁?Compiled in 10.3s (2914 modules) +[API-->>璇锋眰] from:index id:02ab3b8678004aa69e9e415905ef32a5 +[API<<--鍝嶅簲] 鑰楁椂:5743ms - from:index +[API-->>璇锋眰] from:config-table id:8f4fe6b1-7a9e-43e0-bcfb-6edb50f10a62 +[API<<--鍝嶅簲] 鑰楁椂:1281ms - from:config-table +[API-->>璇锋眰] from:data-notice id:571f2540-eb8a-42ee-84f5-85f1583430ae +[API<<--鍝嶅簲] 鑰楁椂:564ms - from:data-notice +[RSS璁㈤槄] 鐢熸垚/rss/feed.xml +[API-->>璇锋眰] from:rss-content id:a6271da0-6b8f-47a3-9735-e8fa770f1d9f +[API<<--鍝嶅簲] 鑰楁椂:4343ms - from:rss-content +TypeError: Cannot read properties of undefined (reading 'replaceAll') + at uuidToId (file:///E:/work/NotionNext/node_modules/notion-utils/build/index.js:533:31) + at Block (file:///E:/work/NotionNext/node_modules/react-notion-x/build/index.js:2579:66) + at renderWithHooks (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5662:16) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5736:15) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5790:7) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderContextProvider (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5935:3) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6032:11) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + 猕?unhandledRejection: TypeError: Cannot read properties of undefined (reading 'replaceAll') + at uuidToId (file:///E:/work/NotionNext/node_modules/notion-utils/build/index.js:533:31) + at Block (file:///E:/work/NotionNext/node_modules/react-notion-x/build/index.js:2579:66) + at renderWithHooks (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5662:16) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5736:15) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5790:7) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderContextProvider (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5935:3) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6032:11) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + 猕?unhandledRejection: TypeError: Cannot read properties of undefined (reading 'replaceAll') + at uuidToId (file:///E:/work/NotionNext/node_modules/notion-utils/build/index.js:533:31) + at Block (file:///E:/work/NotionNext/node_modules/react-notion-x/build/index.js:2579:66) + at renderWithHooks (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5662:16) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5736:15) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5790:7) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderContextProvider (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5935:3) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6032:11) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + 鉁?Compiled in 2.2s (2914 modules) +[API-->>璇锋眰] from:index id:02ab3b8678004aa69e9e415905ef32a5 +[API<<--鍝嶅簲] 鑰楁椂:4166ms - from:index +[API-->>璇锋眰] from:config-table id:8f4fe6b1-7a9e-43e0-bcfb-6edb50f10a62 +[API<<--鍝嶅簲] 鑰楁椂:1277ms - from:config-table +[API-->>璇锋眰] from:data-notice id:571f2540-eb8a-42ee-84f5-85f1583430ae +[API<<--鍝嶅簲] 鑰楁椂:1245ms - from:data-notice +[RSS璁㈤槄] 鐢熸垚/rss/feed.xml +[API-->>璇锋眰] from:rss-content id:a6271da0-6b8f-47a3-9735-e8fa770f1d9f + GET / 200 in 6826ms +[API<<--鍝嶅簲] 鑰楁椂:3590ms - from:rss-content +TypeError: Cannot read properties of undefined (reading 'replaceAll') + at uuidToId (file:///E:/work/NotionNext/node_modules/notion-utils/build/index.js:533:31) + at Block (file:///E:/work/NotionNext/node_modules/react-notion-x/build/index.js:2579:66) + at renderWithHooks (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5662:16) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5736:15) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5790:7) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderContextProvider (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5935:3) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6032:11) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + 猕?unhandledRejection: TypeError: Cannot read properties of undefined (reading 'replaceAll') + at uuidToId (file:///E:/work/NotionNext/node_modules/notion-utils/build/index.js:533:31) + at Block (file:///E:/work/NotionNext/node_modules/react-notion-x/build/index.js:2579:66) + at renderWithHooks (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5662:16) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5736:15) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5790:7) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderContextProvider (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5935:3) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6032:11) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + 猕?unhandledRejection: TypeError: Cannot read properties of undefined (reading 'replaceAll') + at uuidToId (file:///E:/work/NotionNext/node_modules/notion-utils/build/index.js:533:31) + at Block (file:///E:/work/NotionNext/node_modules/react-notion-x/build/index.js:2579:66) + at renderWithHooks (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5662:16) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5736:15) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderIndeterminateComponent (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5790:7) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5961:7) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + at renderContextProvider (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:5935:3) + at renderElement (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6032:11) + at renderNodeDestructiveImpl (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6119:11) + at renderNodeDestructive (E:\work\NotionNext\node_modules\react-dom\cjs\react-dom-server-legacy.node.development.js:6091:14) + 鉁?Compiled in 1277ms (2880 modules) diff --git a/themes/commerce/components/Catalog.js b/themes/commerce/components/Catalog.js index 1608f5fcb53..83f0e44f72d 100644 --- a/themes/commerce/components/Catalog.js +++ b/themes/commerce/components/Catalog.js @@ -77,6 +77,9 @@ const Catalog = ({ toc }) => { ref={tRef}>