From 2217f9c4e573870fb5e53b210e1b081ab5178955 Mon Sep 17 00:00:00 2001 From: Dimitri POSTOLOV Date: Tue, 9 Aug 2022 11:41:50 +0200 Subject: [PATCH] Fix `next export` (#655) * fix `next export` command * replace `classnames` package with `clsx` as he's faster (#656) * remove `locale` prop from theme config, forbid passing `locale` prop in `renderComponent()` (#658) * remove `locale` prop from theme config, forbid passing in `renderComponent` * fix ci * fix `Warning: Prop `href` did not match. Server: "#" Client: ...` (#659) * update snapshots * update tests * fix `Hydration failed because the initial UI...` while adding custom `404.mdx`/`500.mdx` custom error pages (#607) * fix * even yet better! * remove unused things * fix hasTitle * move notFoundLink and serverSideErrorLink directly to components * rebase fixes * fix type check --- .changeset/brown-feet-happen.md | 7 + .changeset/clean-ligers-sell.md | 6 + .changeset/pretty-starfishes-check.md | 5 + .changeset/sharp-foxes-relate.md | 5 + examples/docs/src/theme.config.js | 3 +- examples/swr-site/middleware.js | 3 +- examples/swr-site/next-env.d.ts | 5 + examples/swr-site/next.config.js | 2 +- examples/swr-site/pages/404.mdx | 5 + examples/swr-site/pages/500.mdx | 5 + examples/swr-site/pages/blog/swr-v1.en-US.mdx | 2 +- examples/swr-site/pages/blog/swr-v1.ja.mdx | 2 +- examples/swr-site/pages/blog/swr-v1.ru.mdx | 2 +- examples/swr-site/pages/blog/swr-v1.zh-CN.mdx | 2 +- .../swr-site/pages/docs/404-500.en-US.mdx | 57 ++ .../pages/docs/advanced/cache.en-US.mdx | 2 +- .../swr-site/pages/docs/advanced/cache.ja.mdx | 2 +- .../swr-site/pages/docs/advanced/cache.ko.mdx | 2 +- .../swr-site/pages/docs/advanced/cache.ru.mdx | 2 +- .../pages/docs/advanced/cache.zh-CN.mdx | 2 +- .../docs/advanced/markdown-import.en-US.mdx | 4 +- .../pages/docs/getting-started.en-US.mdx | 2 +- .../pages/docs/getting-started.es-ES.mdx | 2 +- .../pages/docs/getting-started.ja.mdx | 2 +- .../pages/docs/getting-started.ko.mdx | 2 +- .../pages/docs/getting-started.ru.mdx | 2 +- .../pages/docs/getting-started.zh-CN.mdx | 2 +- .../pages/docs/global-configuration.en-US.md | 2 +- examples/swr-site/pages/docs/meta.en-US.json | 3 +- .../swr-site/pages/docs/pagination.en-US.mdx | 6 +- .../swr-site/pages/docs/pagination.es-ES.mdx | 4 +- .../swr-site/pages/docs/pagination.ja.mdx | 4 +- .../swr-site/pages/docs/pagination.ko.mdx | 4 +- .../swr-site/pages/docs/pagination.ru.mdx | 4 +- .../swr-site/pages/docs/pagination.zh-CN.mdx | 4 +- .../pages/docs/revalidation.en-US.mdx | 2 +- .../pages/docs/revalidation.es-ES.mdx | 2 +- .../swr-site/pages/docs/revalidation.ja.mdx | 2 +- .../swr-site/pages/docs/revalidation.ko.mdx | 2 +- .../swr-site/pages/docs/revalidation.ru.mdx | 2 +- .../pages/docs/revalidation.zh-CN.mdx | 2 +- examples/swr-site/pages/index.en-US.mdx | 2 +- examples/swr-site/pages/index.es-ES.mdx | 2 +- examples/swr-site/pages/index.ja.mdx | 2 +- examples/swr-site/pages/index.ko.mdx | 2 +- examples/swr-site/pages/index.ru.mdx | 2 +- examples/swr-site/pages/index.zh-CN.mdx | 2 +- examples/swr-site/pages/meta.en-US.json | 9 + examples/swr-site/tailwind.config.js | 2 +- .../{theme.config.js => theme.config.tsx} | 119 +-- examples/swr-site/tsconfig.json | 24 + .../__test__/__fixture__/pageMap.ts | 6 +- .../nextra-theme-blog/__test__/title.spec.ts | 37 - packages/nextra-theme-blog/package.json | 4 +- .../nextra-theme-blog/src/basic-layout.tsx | 13 +- packages/nextra-theme-blog/src/cusdis.tsx | 4 +- packages/nextra-theme-blog/src/utils/title.ts | 10 - .../__snapshots__/normalize-page.spec.ts.snap | 862 ++++-------------- .../__test__/normalize-page.spec.ts | 67 ++ packages/nextra-theme-docs/package.json | 6 +- .../src/components/banner.tsx | 6 +- .../src/components/bleed.tsx | 2 +- .../src/components/breadcrumb.tsx | 17 +- .../src/components/flexsearch.jsx | 109 +-- .../src/components/footer.tsx | 8 +- .../nextra-theme-docs/src/components/head.tsx | 28 +- .../nextra-theme-docs/src/components/index.ts | 2 + .../src/components/locale-switch.tsx | 5 +- .../src/components/nav-links.tsx | 2 +- .../src/components/navbar.tsx | 82 +- .../src/components/not-found.tsx | 31 + .../src/components/search.tsx | 26 +- .../src/components/select.tsx | 8 +- .../src/components/server-side-error.tsx | 33 + .../src/components/sidebar.tsx | 161 ++-- .../nextra-theme-docs/src/components/tabs.tsx | 2 +- .../src/components/theme-switch.tsx | 4 +- .../nextra-theme-docs/src/components/toc.tsx | 195 +--- packages/nextra-theme-docs/src/config.ts | 13 +- packages/nextra-theme-docs/src/constants.tsx | 16 +- packages/nextra-theme-docs/src/index.tsx | 191 ++-- packages/nextra-theme-docs/src/mdx-theme.tsx | 107 ++- packages/nextra-theme-docs/src/polyfill.ts | 4 +- packages/nextra-theme-docs/src/styles.css | 4 - packages/nextra-theme-docs/src/types.ts | 97 +- .../src/utils/get-git-issue-url.ts | 27 + .../src/utils/normalize-pages.tsx | 82 +- .../src/utils/render-component.tsx | 14 - .../nextra-theme-docs/src/utils/render.tsx | 27 + .../__snapshots__/compile.test.ts.snap | 8 +- .../__snapshots__/page-map.test.ts.snap | 40 + packages/nextra/src/compile.ts | 4 +- packages/nextra/src/index.js | 20 +- packages/nextra/src/loader.ts | 39 +- packages/nextra/src/locales.ts | 4 +- packages/nextra/src/types.ts | 2 +- pnpm-lock.yaml | 42 +- 97 files changed, 1143 insertions(+), 1674 deletions(-) create mode 100644 .changeset/brown-feet-happen.md create mode 100644 .changeset/clean-ligers-sell.md create mode 100644 .changeset/pretty-starfishes-check.md create mode 100644 .changeset/sharp-foxes-relate.md create mode 100644 examples/swr-site/next-env.d.ts create mode 100644 examples/swr-site/pages/404.mdx create mode 100644 examples/swr-site/pages/500.mdx create mode 100644 examples/swr-site/pages/docs/404-500.en-US.mdx rename examples/swr-site/{theme.config.js => theme.config.tsx} (74%) create mode 100644 examples/swr-site/tsconfig.json delete mode 100644 packages/nextra-theme-blog/__test__/title.spec.ts delete mode 100644 packages/nextra-theme-blog/src/utils/title.ts create mode 100644 packages/nextra-theme-docs/src/components/not-found.tsx create mode 100644 packages/nextra-theme-docs/src/components/server-side-error.tsx create mode 100644 packages/nextra-theme-docs/src/utils/get-git-issue-url.ts delete mode 100644 packages/nextra-theme-docs/src/utils/render-component.tsx create mode 100644 packages/nextra-theme-docs/src/utils/render.tsx diff --git a/.changeset/brown-feet-happen.md b/.changeset/brown-feet-happen.md new file mode 100644 index 0000000000..ed29bdbd1c --- /dev/null +++ b/.changeset/brown-feet-happen.md @@ -0,0 +1,7 @@ +--- +'nextra': patch +'nextra-theme-blog': patch +'nextra-theme-docs': patch +--- + +fix `Warning: Prop `href` did not match. Server: "#" Client: ...` diff --git a/.changeset/clean-ligers-sell.md b/.changeset/clean-ligers-sell.md new file mode 100644 index 0000000000..63c70ffa02 --- /dev/null +++ b/.changeset/clean-ligers-sell.md @@ -0,0 +1,6 @@ +--- +'nextra': patch +'nextra-theme-docs': patch +--- + +fix `next export` command diff --git a/.changeset/pretty-starfishes-check.md b/.changeset/pretty-starfishes-check.md new file mode 100644 index 0000000000..178eada1fc --- /dev/null +++ b/.changeset/pretty-starfishes-check.md @@ -0,0 +1,5 @@ +--- +'nextra-theme-docs': patch +--- + +replace `classnames` package with `clsx` as he's faster diff --git a/.changeset/sharp-foxes-relate.md b/.changeset/sharp-foxes-relate.md new file mode 100644 index 0000000000..2ef379b42d --- /dev/null +++ b/.changeset/sharp-foxes-relate.md @@ -0,0 +1,5 @@ +--- +'nextra-theme-docs': patch +--- + +remove `locale` prop from theme config, forbid passing in `renderComponent` diff --git a/examples/docs/src/theme.config.js b/examples/docs/src/theme.config.js index bfe91eb96b..c5243485ce 100644 --- a/examples/docs/src/theme.config.js +++ b/examples/docs/src/theme.config.js @@ -65,10 +65,9 @@ export default { unstable_faviconGlyph: '✦', prevLinks: true, nextLinks: true, - floatTOC: true, footer: true, footerEditLink: 'Edit this page on GitHub', - footerText: <>MIT {new Date().getFullYear()} © Nextra., + footerText: `MIT ${new Date().getFullYear()} © Nextra.`, darkMode: true, bannerKey: 'Nextra 2', banner: 'Nextra 2 Alpha' diff --git a/examples/swr-site/middleware.js b/examples/swr-site/middleware.js index 5f1a4e3d52..38011cf766 100644 --- a/examples/swr-site/middleware.js +++ b/examples/swr-site/middleware.js @@ -1,2 +1 @@ -import { locales } from "nextra/locales"; -export const middleware = locales; +export { locales as middleware } from "nextra/locales"; diff --git a/examples/swr-site/next-env.d.ts b/examples/swr-site/next-env.d.ts new file mode 100644 index 0000000000..4f11a03dc6 --- /dev/null +++ b/examples/swr-site/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/examples/swr-site/next.config.js b/examples/swr-site/next.config.js index 21c1d68fd5..70cb70aee7 100644 --- a/examples/swr-site/next.config.js +++ b/examples/swr-site/next.config.js @@ -1,6 +1,6 @@ const withNextra = require("nextra")({ theme: "nextra-theme-docs", - themeConfig: "./theme.config.js", + themeConfig: "./theme.config.tsx", unstable_flexsearch: { codeblocks: true, }, diff --git a/examples/swr-site/pages/404.mdx b/examples/swr-site/pages/404.mdx new file mode 100644 index 0000000000..3f2fcd41e6 --- /dev/null +++ b/examples/swr-site/pages/404.mdx @@ -0,0 +1,5 @@ +import { NotFoundPage } from 'nextra-theme-docs' + +# 404 - This page could not be found + + diff --git a/examples/swr-site/pages/500.mdx b/examples/swr-site/pages/500.mdx new file mode 100644 index 0000000000..6893466874 --- /dev/null +++ b/examples/swr-site/pages/500.mdx @@ -0,0 +1,5 @@ +import { ServerSideErrorPage } from 'nextra-theme-docs' + +# 500 - Internal Server Error + + diff --git a/examples/swr-site/pages/blog/swr-v1.en-US.mdx b/examples/swr-site/pages/blog/swr-v1.en-US.mdx index 117b1e1551..6f955e0645 100644 --- a/examples/swr-site/pages/blog/swr-v1.en-US.mdx +++ b/examples/swr-site/pages/blog/swr-v1.en-US.mdx @@ -3,7 +3,7 @@ image: https://assets.vercel.com/image/upload/v1630059453/swr/v1.png description: 'Almost 2 years ago we open sourced SWR, the tiny data-fetching React library that people love. Today we are reaching another milestone: the 1.0 version of SWR.' --- -import Authors, { Author } from 'components/authors' +import Authors, { Author } from '@components/authors' # Announcing SWR 1.0 diff --git a/examples/swr-site/pages/blog/swr-v1.ja.mdx b/examples/swr-site/pages/blog/swr-v1.ja.mdx index 3bba2cb6dd..376d00e2c2 100644 --- a/examples/swr-site/pages/blog/swr-v1.ja.mdx +++ b/examples/swr-site/pages/blog/swr-v1.ja.mdx @@ -3,7 +3,7 @@ image: https://assets.vercel.com/image/upload/v1630059453/swr/v1.png description: 'ほぼ二年前、みんなが愛する小さなデータフェッチ React ライブラリである SWR をオープンソースにしました。そして本日、私たちは大きな節目を迎えました: SWR の 1.0 バージョンです。' --- -import Authors, { Author } from 'components/authors' +import Authors, { Author } from '@components/authors' # SWR 1.0 の発表 diff --git a/examples/swr-site/pages/blog/swr-v1.ru.mdx b/examples/swr-site/pages/blog/swr-v1.ru.mdx index b2d07d707f..f14fbe0d6d 100644 --- a/examples/swr-site/pages/blog/swr-v1.ru.mdx +++ b/examples/swr-site/pages/blog/swr-v1.ru.mdx @@ -3,7 +3,7 @@ image: https://assets.vercel.com/image/upload/v1630059453/swr/v1.png description: 'Почти 2 года назад мы сделали SWR — крошечную React библиотеку с открытым исходным кодом для выборки данных, которую люди полюбили. Сегодня мы приближаемся к еще одной вехе: версии 1.0 SWR!' --- -import Authors, { Author } from 'components/authors' +import Authors, { Author } from '@components/authors' # Представляем SWR 1.0 diff --git a/examples/swr-site/pages/blog/swr-v1.zh-CN.mdx b/examples/swr-site/pages/blog/swr-v1.zh-CN.mdx index e8c4bcab8e..33ee8fcca1 100644 --- a/examples/swr-site/pages/blog/swr-v1.zh-CN.mdx +++ b/examples/swr-site/pages/blog/swr-v1.zh-CN.mdx @@ -3,7 +3,7 @@ image: https://assets.vercel.com/image/upload/v1630059453/swr/v1.png description: '大约两年前,我们开源了 SWR,大家喜爱的小型数据请求 React 库。今天,我们迎来了另一个里程碑:SWR 1.0 版本发布。' --- -import Authors, { Author } from 'components/authors' +import Authors, { Author } from '@components/authors' # SWR 1.0 发布 diff --git a/examples/swr-site/pages/docs/404-500.en-US.mdx b/examples/swr-site/pages/docs/404-500.en-US.mdx new file mode 100644 index 0000000000..ecd104bb1a --- /dev/null +++ b/examples/swr-site/pages/docs/404-500.en-US.mdx @@ -0,0 +1,57 @@ +# 404 / 500 pages + +Nextra support custom `404.mdx`/`500.mdx` pages. + +## 404 + +To add `/404` page import `NotFoundPage`: + +```mdx filename="pages/404.mdx" +import { NotFoundPage } from 'nextra-theme-docs' + +# 404 - This page could not be found + + +``` + +[Click to try `/404` page.](/this-page-not-exist-trust-me) + +## 500 + +To add `/500` page import `ServerSideErrorPage`: + +```mdx filename="pages/500.mdx" +import { ServerSideErrorPage } from 'nextra-theme-docs' + +# 500 - Internal Server Error + + +``` + +[Click to try `/500` page.](/500) + +## Customize Theme Config Options + +Also, you can customize following options: + +```ts +// ... +notFoundLink?: ReactNode | FC +notFoundLabels?: string +serverSideErrorLink?: ReactNode | FC +serverSideErrorLabels?: string +``` + +## Customize Layout + +```json filename="meta.json" +"404": { + "type": "page" +}, +"500": { + "type":"page", + "theme": { + "layout": "full" + } +} +``` diff --git a/examples/swr-site/pages/docs/advanced/cache.en-US.mdx b/examples/swr-site/pages/docs/advanced/cache.en-US.mdx index 77e887008e..86ed62cff9 100644 --- a/examples/swr-site/pages/docs/advanced/cache.en-US.mdx +++ b/examples/swr-site/pages/docs/advanced/cache.en-US.mdx @@ -51,7 +51,7 @@ All SWR hooks inside `` will read and write from that Map instance. You c In the example above, when the `` component is re-mounted, the provider will also be re-created. Cache providers should be put higher in the component tree, or outside of render. -import { Cache } from 'components/diagrams/cache' +import { Cache } from '@components/diagrams/cache'
diff --git a/examples/swr-site/pages/docs/advanced/cache.ja.mdx b/examples/swr-site/pages/docs/advanced/cache.ja.mdx index f2c96444ba..21e526ab75 100644 --- a/examples/swr-site/pages/docs/advanced/cache.ja.mdx +++ b/examples/swr-site/pages/docs/advanced/cache.ja.mdx @@ -51,7 +51,7 @@ function App() { 上記の例では、 `` コンポーネントが再マウントされると、プロバイダーも再生成します。キャッシュプロバイダーは、コンポーネントツリーの上位、またはレンダリングの外部に配置する必要があります。 -import { Cache } from 'components/diagrams/cache' +import { Cache } from '@components/diagrams/cache'
diff --git a/examples/swr-site/pages/docs/advanced/cache.ko.mdx b/examples/swr-site/pages/docs/advanced/cache.ko.mdx index b5fc262f8c..fbd8f53ad5 100644 --- a/examples/swr-site/pages/docs/advanced/cache.ko.mdx +++ b/examples/swr-site/pages/docs/advanced/cache.ko.mdx @@ -51,7 +51,7 @@ function App() { 위 예시에서는 `` 컴포넌트가 다시 마운트될 때, 공급자 또한 다시 생성됩니다. 캐시 공급자는 컴포넌트 트리의 상위 또는 렌더링의 외부에 배치해야 합니다. -import { Cache } from 'components/diagrams/cache' +import { Cache } from '@components/diagrams/cache'
diff --git a/examples/swr-site/pages/docs/advanced/cache.ru.mdx b/examples/swr-site/pages/docs/advanced/cache.ru.mdx index de64056657..88da4d5b5e 100644 --- a/examples/swr-site/pages/docs/advanced/cache.ru.mdx +++ b/examples/swr-site/pages/docs/advanced/cache.ru.mdx @@ -60,7 +60,7 @@ function App() { повторно создан. Провайдеры кеша должны быть размещены выше в дереве компонентов или вне рендеринга. -import { Cache } from 'components/diagrams/cache' +import { Cache } from '@components/diagrams/cache'
diff --git a/examples/swr-site/pages/docs/advanced/cache.zh-CN.mdx b/examples/swr-site/pages/docs/advanced/cache.zh-CN.mdx index 62092714d0..7214bcafcd 100644 --- a/examples/swr-site/pages/docs/advanced/cache.zh-CN.mdx +++ b/examples/swr-site/pages/docs/advanced/cache.zh-CN.mdx @@ -51,7 +51,7 @@ function App() { 在上面的例子中,当 `` 组件重新挂载时,provider 也会被重新创建。缓存 provider 应该放在组件树的更高位置,或者放在渲染之外。 -import { Cache } from 'components/diagrams/cache' +import { Cache } from '@components/diagrams/cache'
diff --git a/examples/swr-site/pages/docs/advanced/markdown-import.en-US.mdx b/examples/swr-site/pages/docs/advanced/markdown-import.en-US.mdx index 13cc753cd2..de06d02453 100644 --- a/examples/swr-site/pages/docs/advanced/markdown-import.en-US.mdx +++ b/examples/swr-site/pages/docs/advanced/markdown-import.en-US.mdx @@ -1,4 +1,4 @@ -import External from '../../../components/external.mdx' +import External from '@components/external.mdx' import IndexPage from '../../index.en-US.mdx' # Markdown import @@ -6,7 +6,7 @@ import IndexPage from '../../index.en-US.mdx' ## Import of markdown file ```mdx -import External from '../../../components/external.mdx' +import External from '@components/external.mdx' ``` diff --git a/examples/swr-site/pages/docs/getting-started.en-US.mdx b/examples/swr-site/pages/docs/getting-started.en-US.mdx index 45467bf53e..ea210b1678 100644 --- a/examples/swr-site/pages/docs/getting-started.en-US.mdx +++ b/examples/swr-site/pages/docs/getting-started.en-US.mdx @@ -86,7 +86,7 @@ Instead, your code is more declarative: you just need to specify what data is us In a real-world example, our website shows a navbar and the content, both depend on `user`: -import { Welcome } from 'components/diagrams/welcome' +import { Welcome } from '@components/diagrams/welcome'
diff --git a/examples/swr-site/pages/docs/getting-started.es-ES.mdx b/examples/swr-site/pages/docs/getting-started.es-ES.mdx index 1299be631b..3083624e3a 100644 --- a/examples/swr-site/pages/docs/getting-started.es-ES.mdx +++ b/examples/swr-site/pages/docs/getting-started.es-ES.mdx @@ -87,7 +87,7 @@ que especificar qué datos utiliza el componente. En un ejemplo del mundo real, nuestro sitio web muestra una barra de navegación y el contenido, ambos dependen del `user`: -import { Welcome } from 'components/diagrams/welcome' +import { Welcome } from '@components/diagrams/welcome'
diff --git a/examples/swr-site/pages/docs/getting-started.ja.mdx b/examples/swr-site/pages/docs/getting-started.ja.mdx index 6b47af7cfb..f673bafa2f 100644 --- a/examples/swr-site/pages/docs/getting-started.ja.mdx +++ b/examples/swr-site/pages/docs/getting-started.ja.mdx @@ -83,7 +83,7 @@ function Avatar ({ id }) { 現実世界の例では、ウェブサイトにナビゲーションバーとコンテンツが表示されています。どちらも `user` に依存しています: -import { Welcome } from 'components/diagrams/welcome' +import { Welcome } from '@components/diagrams/welcome'
diff --git a/examples/swr-site/pages/docs/getting-started.ko.mdx b/examples/swr-site/pages/docs/getting-started.ko.mdx index 269172c81c..29de89fc74 100644 --- a/examples/swr-site/pages/docs/getting-started.ko.mdx +++ b/examples/swr-site/pages/docs/getting-started.ko.mdx @@ -84,7 +84,7 @@ function Avatar ({ id }) { 실제 예시로, 저희 웹 사이트는 모두 `user`에 의존하는 navbar와 그 콘텐츠를 보여줍니다. -import { Welcome } from 'components/diagrams/welcome' +import { Welcome } from '@components/diagrams/welcome'
diff --git a/examples/swr-site/pages/docs/getting-started.ru.mdx b/examples/swr-site/pages/docs/getting-started.ru.mdx index 9325bf4cc8..05eea4580a 100644 --- a/examples/swr-site/pages/docs/getting-started.ru.mdx +++ b/examples/swr-site/pages/docs/getting-started.ru.mdx @@ -87,7 +87,7 @@ function Avatar ({ id }) { В реальном примере наш веб-сайт показывает панель навигации и контент, оба зависят от `user`: -import { Welcome } from 'components/diagrams/welcome' +import { Welcome } from '@components/diagrams/welcome'
diff --git a/examples/swr-site/pages/docs/getting-started.zh-CN.mdx b/examples/swr-site/pages/docs/getting-started.zh-CN.mdx index 90ef859f08..d73a110d6d 100644 --- a/examples/swr-site/pages/docs/getting-started.zh-CN.mdx +++ b/examples/swr-site/pages/docs/getting-started.zh-CN.mdx @@ -80,7 +80,7 @@ function Avatar({ id }) { 在一个真实的示例中,我们的网站显示一个导航条和内容,都取决于 `user`: -import { Welcome } from 'components/diagrams/welcome' +import { Welcome } from '@components/diagrams/welcome'
diff --git a/examples/swr-site/pages/docs/global-configuration.en-US.md b/examples/swr-site/pages/docs/global-configuration.en-US.md index 57c3eb1d63..d5eb9fd9e4 100644 --- a/examples/swr-site/pages/docs/global-configuration.en-US.md +++ b/examples/swr-site/pages/docs/global-configuration.en-US.md @@ -39,7 +39,7 @@ function App () { ### Cache Provider -Besides all the [options](/docs/options) listed, `SWRConfig` also accepts an optional `provider` function. Please refer to the [Cache](/docs/cache) section for more details. +Besides, all the [options](/docs/options) listed, `SWRConfig` also accepts an optional `provider` function. Please refer to the [Cache](/docs/cache) section for more details. ```jsx new Map() }}> diff --git a/examples/swr-site/pages/docs/meta.en-US.json b/examples/swr-site/pages/docs/meta.en-US.json index ad214a69a2..4d16884a55 100644 --- a/examples/swr-site/pages/docs/meta.en-US.json +++ b/examples/swr-site/pages/docs/meta.en-US.json @@ -40,5 +40,6 @@ "type": "page", "newWindow": true }, - "scroll-with-dynamic-height": "Scroll With Dynamic Height" + "scroll-with-dynamic-height": "Scroll With Dynamic Height", + "404-500": "404/500 Custom Error Pages" } diff --git a/examples/swr-site/pages/docs/pagination.en-US.mdx b/examples/swr-site/pages/docs/pagination.en-US.mdx index 1e376e4dee..8b072e8d3c 100644 --- a/examples/swr-site/pages/docs/pagination.en-US.mdx +++ b/examples/swr-site/pages/docs/pagination.en-US.mdx @@ -14,7 +14,7 @@ SWR provides a dedicated API `useSWRInfinite` to support common UI patterns such First of all, we might **NOT** need `useSWRInfinite` but can use just `useSWR` if we are building something like this: -import { Pagination } from 'components/diagrams/pagination' +import { Pagination } from '@components/diagrams/pagination'
@@ -86,7 +86,7 @@ that most scenarios are covered by it. Sometimes we want to build an **infinite loading** UI, with a "Load More" button that appends data to the list (or done automatically when you scroll): -import { Infinite } from 'components/diagrams/infinite' +import { Infinite } from '@components/diagrams/infinite'
@@ -95,7 +95,7 @@ import { Infinite } from 'components/diagrams/infinite' To implement this, we need to make **dynamic number of requests** on this page. React Hooks have [a couple of rules](https://reactjs.org/docs/hooks-rules.html), so we **CANNOT** do something like this: -```jsx {5,6,7,8,9} +```jsx {5-9} function App () { const [cnt, setCnt] = useState(1) diff --git a/examples/swr-site/pages/docs/pagination.es-ES.mdx b/examples/swr-site/pages/docs/pagination.es-ES.mdx index 684084b035..2cd739674a 100644 --- a/examples/swr-site/pages/docs/pagination.es-ES.mdx +++ b/examples/swr-site/pages/docs/pagination.es-ES.mdx @@ -15,7 +15,7 @@ SWR proporciona una API dedicada `useSWRInfinite` para admitir patrones de UI co En primer lugar, es posible que **NO** necesitemos `useSWRInfinite`, sino que podemos utilizar simplemente `useSWR` si estamos construyendo algo como esto: -import { Pagination } from 'components/diagrams/pagination' +import { Pagination } from '@components/diagrams/pagination'
@@ -88,7 +88,7 @@ que la mayoría de los escenarios están cubiertos por él. A veces queremos construir una UI de **carga infinita**, con un botón "Load More" que añada datos a la lista (o que lo haga automáticamente al desplazarse): -import { Infinite } from 'components/diagrams/infinite' +import { Infinite } from '@components/diagrams/infinite'
diff --git a/examples/swr-site/pages/docs/pagination.ja.mdx b/examples/swr-site/pages/docs/pagination.ja.mdx index 0e9320b3e6..e54347a356 100644 --- a/examples/swr-site/pages/docs/pagination.ja.mdx +++ b/examples/swr-site/pages/docs/pagination.ja.mdx @@ -14,7 +14,7 @@ SWR は、**ページネーション**や**無限ローディング**などの まず第一に、`useSWRInfinite` は必要**ない**かもしれませんが、次のようなものを構築しようとするときには `useSWR` を使用できます: -import { Pagination } from 'components/diagrams/pagination' +import { Pagination } from '@components/diagrams/pagination'
@@ -86,7 +86,7 @@ function App () { 「さらに読み込む」ボタンを使用して(またはスクロールすると自動的に実行されて)リストにデータを 追加する**無限ローディング** UI を構築したい場合があります: -import { Infinite } from 'components/diagrams/infinite' +import { Infinite } from '@components/diagrams/infinite'
diff --git a/examples/swr-site/pages/docs/pagination.ko.mdx b/examples/swr-site/pages/docs/pagination.ko.mdx index a4e9b5a486..b5ac5cad56 100644 --- a/examples/swr-site/pages/docs/pagination.ko.mdx +++ b/examples/swr-site/pages/docs/pagination.ko.mdx @@ -14,7 +14,7 @@ SWR은 **페이지네이션**과 **인피니트 로딩**과 같은 일반적인 다음과 같은 무언가를 구축한다면 우선 `useSWRInfinite`은 필요하지 **않고** `useSWR`만 사용하면 됩니다. -import { Pagination } from 'components/diagrams/pagination' +import { Pagination } from '@components/diagrams/pagination'
@@ -86,7 +86,7 @@ function App () { 리스트에 데이터를 이어 붙이는 "더 보기" 버튼(또는 스크롤할 때 자동으로 완료)으로 **인피니트 로딩** UI를 구축하길 원하는 경우가 있습니다. -import { Infinite } from 'components/diagrams/infinite' +import { Infinite } from '@components/diagrams/infinite'
diff --git a/examples/swr-site/pages/docs/pagination.ru.mdx b/examples/swr-site/pages/docs/pagination.ru.mdx index 8b658d1cdf..b3038695d5 100644 --- a/examples/swr-site/pages/docs/pagination.ru.mdx +++ b/examples/swr-site/pages/docs/pagination.ru.mdx @@ -14,7 +14,7 @@ SWR предоставляет специальный API `useSWRInfinite` дл Для начала, нам может **НЕ** понадобится `useSWRInfinite`, а вместо него использовать просто `useSWR`, если мы создаем что-то вроде этого: -import { Pagination } from 'components/diagrams/pagination' +import { Pagination } from '@components/diagrams/pagination'
@@ -86,7 +86,7 @@ function App () { Иногда мы хотим создать интерфейс **бесконечной загрузки** с кнопкой «Загрузить ещё», которая добавляет данные в список (или делает это автоматически при прокрутке): -import { Infinite } from 'components/diagrams/infinite' +import { Infinite } from '@components/diagrams/infinite'
diff --git a/examples/swr-site/pages/docs/pagination.zh-CN.mdx b/examples/swr-site/pages/docs/pagination.zh-CN.mdx index 80355b889e..1643fcca17 100644 --- a/examples/swr-site/pages/docs/pagination.zh-CN.mdx +++ b/examples/swr-site/pages/docs/pagination.zh-CN.mdx @@ -14,7 +14,7 @@ SWR 提供了一个专用 API `useSWRInfinite` 来支持常见的 UI 模式, 首先,我们可能 **并不** 需要 `useSWRInfinite`,如果我们正在构建如下内容,可以只使用 `useSWR`: -import { Pagination } from 'components/diagrams/pagination' +import { Pagination } from '@components/diagrams/pagination'
@@ -82,7 +82,7 @@ function App () { 有时我们想构建一个**无限加载** UI,用一个 "Load More" 按钮向列表追加数据(或者在滚动时自动完成): -import { Infinite } from 'components/diagrams/infinite' +import { Infinite } from '@components/diagrams/infinite'
diff --git a/examples/swr-site/pages/docs/revalidation.en-US.mdx b/examples/swr-site/pages/docs/revalidation.en-US.mdx index 89a6d59cd8..0e3321347e 100644 --- a/examples/swr-site/pages/docs/revalidation.en-US.mdx +++ b/examples/swr-site/pages/docs/revalidation.en-US.mdx @@ -1,4 +1,4 @@ -import Video from 'components/video' +import Video from '@components/video' import { Callout, Bleed } from 'nextra-theme-docs' # Automatic Revalidation diff --git a/examples/swr-site/pages/docs/revalidation.es-ES.mdx b/examples/swr-site/pages/docs/revalidation.es-ES.mdx index a1f84f1365..8b20e40872 100644 --- a/examples/swr-site/pages/docs/revalidation.es-ES.mdx +++ b/examples/swr-site/pages/docs/revalidation.es-ES.mdx @@ -1,4 +1,4 @@ -import Video from 'components/video' +import Video from '@components/video' import { Callout, Bleed } from 'nextra-theme-docs' # Revalidación Automática diff --git a/examples/swr-site/pages/docs/revalidation.ja.mdx b/examples/swr-site/pages/docs/revalidation.ja.mdx index cb5d9dbbe5..d444c94028 100644 --- a/examples/swr-site/pages/docs/revalidation.ja.mdx +++ b/examples/swr-site/pages/docs/revalidation.ja.mdx @@ -1,4 +1,4 @@ -import Video from 'components/video' +import Video from '@components/video' import { Callout, Bleed } from 'nextra-theme-docs' # 自動再検証 diff --git a/examples/swr-site/pages/docs/revalidation.ko.mdx b/examples/swr-site/pages/docs/revalidation.ko.mdx index 4d25860972..50f7fa6594 100644 --- a/examples/swr-site/pages/docs/revalidation.ko.mdx +++ b/examples/swr-site/pages/docs/revalidation.ko.mdx @@ -1,4 +1,4 @@ -import Video from 'components/video' +import Video from '@components/video' import { Callout, Bleed } from 'nextra-theme-docs' # 자동 갱신 diff --git a/examples/swr-site/pages/docs/revalidation.ru.mdx b/examples/swr-site/pages/docs/revalidation.ru.mdx index 94ca71bdc1..d2307c1ab9 100644 --- a/examples/swr-site/pages/docs/revalidation.ru.mdx +++ b/examples/swr-site/pages/docs/revalidation.ru.mdx @@ -1,4 +1,4 @@ -import Video from 'components/video' +import Video from '@components/video' import { Callout, Bleed } from 'nextra-theme-docs' # Автоматическая ревалидация diff --git a/examples/swr-site/pages/docs/revalidation.zh-CN.mdx b/examples/swr-site/pages/docs/revalidation.zh-CN.mdx index 0ceb779ca4..aa512e299c 100644 --- a/examples/swr-site/pages/docs/revalidation.zh-CN.mdx +++ b/examples/swr-site/pages/docs/revalidation.zh-CN.mdx @@ -1,4 +1,4 @@ -import Video from 'components/video' +import Video from '@components/video' import { Callout, Bleed } from 'nextra-theme-docs' # 自动重新请求 diff --git a/examples/swr-site/pages/index.en-US.mdx b/examples/swr-site/pages/index.en-US.mdx index 79e403a118..e62018fcac 100644 --- a/examples/swr-site/pages/index.en-US.mdx +++ b/examples/swr-site/pages/index.en-US.mdx @@ -3,7 +3,7 @@ title: React Hooks for Data Fetching searchable: false --- -import Features from 'components/features' +import Features from '@components/features' import { Tabs, Tab, Callout } from 'nextra-theme-docs' { diff --git a/examples/swr-site/pages/index.es-ES.mdx b/examples/swr-site/pages/index.es-ES.mdx index 17b4781271..066dd0c49b 100644 --- a/examples/swr-site/pages/index.es-ES.mdx +++ b/examples/swr-site/pages/index.es-ES.mdx @@ -3,7 +3,7 @@ title: Biblioteca React Hooks para la obtención de datos --- import { Callout } from 'nextra-theme-docs' -import Features from "components/features"; +import Features from "@components/features"; { // wrapped with {} to mark it as javascript so mdx will not put it under a p tag diff --git a/examples/swr-site/pages/index.ja.mdx b/examples/swr-site/pages/index.ja.mdx index 3691d1336f..d37ae07ef5 100644 --- a/examples/swr-site/pages/index.ja.mdx +++ b/examples/swr-site/pages/index.ja.mdx @@ -3,7 +3,7 @@ title: データ取得のための React Hooks ライブラリ --- import { Callout } from 'nextra-theme-docs' -import Features from 'components/features' +import Features from '@components/features' { // wrapped with {} to mark it as javascript so mdx will not put it under a p tag diff --git a/examples/swr-site/pages/index.ko.mdx b/examples/swr-site/pages/index.ko.mdx index 6199e15cc9..a4049bd381 100644 --- a/examples/swr-site/pages/index.ko.mdx +++ b/examples/swr-site/pages/index.ko.mdx @@ -3,7 +3,7 @@ title: 데이터 가져오기를 위한 React Hooks --- import { Callout } from 'nextra-theme-docs' -import Features from 'components/features' +import Features from '@components/features' { // wrapped with {} to mark it as javascript so mdx will not put it under a p tag diff --git a/examples/swr-site/pages/index.ru.mdx b/examples/swr-site/pages/index.ru.mdx index 47fb8dd407..2426eb8cc9 100644 --- a/examples/swr-site/pages/index.ru.mdx +++ b/examples/swr-site/pages/index.ru.mdx @@ -3,7 +3,7 @@ title: React хуки для получения данных --- import { Callout } from 'nextra-theme-docs' -import Features from 'components/features' +import Features from '@components/features' { // wrapped with {} to mark it as javascript so mdx will not put it under a p tag diff --git a/examples/swr-site/pages/index.zh-CN.mdx b/examples/swr-site/pages/index.zh-CN.mdx index 05c3366f3d..491b1c8827 100644 --- a/examples/swr-site/pages/index.zh-CN.mdx +++ b/examples/swr-site/pages/index.zh-CN.mdx @@ -3,7 +3,7 @@ title: 用于数据请求的 React Hooks 库 --- import { Callout } from 'nextra-theme-docs' -import Features from "components/features" +import Features from "@components/features" { // wrapped with {} to mark it as javascript so mdx will not put it under a p tag diff --git a/examples/swr-site/pages/meta.en-US.json b/examples/swr-site/pages/meta.en-US.json index 21f84916d9..488a55a48b 100644 --- a/examples/swr-site/pages/meta.en-US.json +++ b/examples/swr-site/pages/meta.en-US.json @@ -54,5 +54,14 @@ "href": "https://github.com/shuding/nextra", "type": "page", "newWindow": true + }, + "404": { + "type": "page" + }, + "500": { + "type":"page", + "theme": { + "layout": "full" + } } } diff --git a/examples/swr-site/tailwind.config.js b/examples/swr-site/tailwind.config.js index 2ef1626c52..82000b1849 100644 --- a/examples/swr-site/tailwind.config.js +++ b/examples/swr-site/tailwind.config.js @@ -3,6 +3,6 @@ module.exports = { content: [ "./components/**/*.js", "./pages/**/*.{md,mdx}", - "./theme.config.js", + "./theme.config.tsx", ], }; diff --git a/examples/swr-site/theme.config.js b/examples/swr-site/theme.config.tsx similarity index 74% rename from examples/swr-site/theme.config.js rename to examples/swr-site/theme.config.tsx index caca543e83..131069b017 100644 --- a/examples/swr-site/theme.config.js +++ b/examples/swr-site/theme.config.tsx @@ -1,4 +1,5 @@ import { useRouter } from "next/router"; +import { DocsThemeConfig, useConfig } from "nextra-theme-docs"; const Logo = ({ height }) => ( @@ -9,8 +10,8 @@ const Logo = ({ height }) => ( ); -const Vercel = ({ height = 20 }) => ( - +const Vercel = () => ( + { - return ; - }, - logo: () => { + tocExtraContent: , + logo() { const { locale } = useRouter(); return ( <> @@ -64,7 +69,14 @@ export default { ); }, - head: ({ title, meta }) => { + head() { + const config = useConfig(); + const description = + config.meta.description || + "SWR is a React Hooks library for data fetching. SWR first returns the data from cache (stale), then sends the fetch request (revalidate), and finally comes with the up-to-date data again."; + const image = + config.meta.image || + "https://assets.vercel.com/image/upload/v1572282926/swr/twitter-card.jpg"; return ( <> {/* Favicons, meta */} @@ -93,71 +105,30 @@ export default { /> - - + + - - - + + + ); }, - sidebarSubtitle: ({ title }) => { - return ( -
- - {title} -
- ); - }, - footerEditLink: ({ locale }) => { - switch (locale) { - case "zh-CN": - return "在 GitHub 上编辑本页"; - case "es-ES": - return "Edite esta página en GitHub"; - case "ja": - return "Github で編集する"; - case "ko": - return "Github에서 이 페이지 편집하기"; - case "ru": - return "Редактировать на GitHub"; - default: - return "Edit this page on GitHub →"; - } + sidebarSubtitle: ({ title }) => ( +
+ + {title} +
+ ), + footerEditLink() { + const { locale } = useRouter(); + return EDIT_LINK_WITH_TRANSLATIONS[locale] || "Edit this page on GitHub →"; }, - footerText: ({ locale }) => { + footerText() { + const { locale } = useRouter(); + switch (locale) { case "zh-CN": return ( @@ -256,3 +227,5 @@ export default { ], gitTimestamp: "Last updated on", }; + +export default config; diff --git a/examples/swr-site/tsconfig.json b/examples/swr-site/tsconfig.json new file mode 100644 index 0000000000..8c86b0bbdc --- /dev/null +++ b/examples/swr-site/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "incremental": true, + "esModuleInterop": true, + "module": "esnext", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "moduleResolution": "node", + "baseUrl": "./", + "paths": { + "@components/*": ["./components/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/packages/nextra-theme-blog/__test__/__fixture__/pageMap.ts b/packages/nextra-theme-blog/__test__/__fixture__/pageMap.ts index 52756d2096..c644f67be9 100644 --- a/packages/nextra-theme-blog/__test__/__fixture__/pageMap.ts +++ b/packages/nextra-theme-blog/__test__/__fixture__/pageMap.ts @@ -62,7 +62,7 @@ export const indexOpts: BlogPageOpts = { route: '/tags' } ], - titleText: 'Nextra', + title: 'Nextra', headings: [ { type: 'heading', @@ -165,7 +165,7 @@ export const postsOpts: BlogPageOpts = { route: '/tags' } ], - titleText: 'Random Thoughts', + title: 'Random Thoughts', headings: [ { type: 'heading', @@ -271,7 +271,7 @@ export const articleOpts: BlogPageOpts = { route: '/tags' } ], - titleText: 'Notes on A Programmable Web by Aaron Swartz', + title: 'Notes on A Programmable Web by Aaron Swartz', headings: [ { type: 'heading', diff --git a/packages/nextra-theme-blog/__test__/title.spec.ts b/packages/nextra-theme-blog/__test__/title.spec.ts deleted file mode 100644 index 14c39d8505..0000000000 --- a/packages/nextra-theme-blog/__test__/title.spec.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { describe, it, expect } from 'vitest' -import { - config, - articleOpts, - postsOpts, - indexOpts -} from './__fixture__/pageMap' -import { getTitle } from '../src/utils/title' - -describe('parent', () => { - it('index', () => { - expect(getTitle({ opts: indexOpts, config })).toMatchInlineSnapshot(` - { - "pageTitle": "About", - "title": "About", - } - `) - }) - - it('posts', () => { - expect(getTitle({ opts: postsOpts, config })).toMatchInlineSnapshot(` - { - "pageTitle": "Random Thoughts", - "title": "Random Thoughts", - } - `) - }) - - it('article', () => { - expect(getTitle({ opts: articleOpts, config })).toMatchInlineSnapshot(` - { - "pageTitle": "Notes on A Programmable Web by Aaron Swartz", - "title": "Notes on A Programmable Web by Aaron Swartz", - } - `) - }) -}) diff --git a/packages/nextra-theme-blog/package.json b/packages/nextra-theme-blog/package.json index 557f6505f3..0c2642d038 100644 --- a/packages/nextra-theme-blog/package.json +++ b/packages/nextra-theme-blog/package.json @@ -73,13 +73,13 @@ "nextra": "workspace:*", "postcss": "^8.4.14", "postcss-cli": "^8.3.1", + "postcss-import": "^14.1.0", "react": "^18.2.0", "react-cusdis": "^2.1.3", "react-dom": "^18.2.0", "tailwindcss": "^3.1.8", "tsup": "^6.2.1", - "vitest": "^0.21.0", - "postcss-import": "^14.1.0" + "vitest": "^0.21.0" }, "prettier": { "semi": false, diff --git a/packages/nextra-theme-blog/src/basic-layout.tsx b/packages/nextra-theme-blog/src/basic-layout.tsx index 1a47b58699..317ce6710b 100644 --- a/packages/nextra-theme-blog/src/basic-layout.tsx +++ b/packages/nextra-theme-blog/src/basic-layout.tsx @@ -1,15 +1,12 @@ import Head from 'next/head' -import React, { ReactNode, useEffect } from 'react' +import React, { ReactNode, useRef } from 'react' import { useBlogContext } from './blog-context' import { HeadingContext } from './mdx-theme' -import { getTitle } from './utils/title' export const BasicLayout = ({ children }: { children: ReactNode }) => { const { config, opts } = useBlogContext() - const { title, pageTitle } = getTitle({ config, opts }) - const ref = React.useRef(null) - const { hasJsxInH1 } = opts - const portalHeading = hasJsxInH1 + const title = `${opts.title}${config.titleSuffix || ''}` + const ref = useRef(null) return (
@@ -17,8 +14,8 @@ export const BasicLayout = ({ children }: { children: ReactNode }) => { {config.head?.({ title, meta: opts.meta })} - {portalHeading ?

: null} - {!portalHeading ?

{pageTitle}

: null} + {opts.hasJsxInH1 ?

: null} + {!opts.hasJsxInH1 ?

{opts.title}

: null} {children} {config.footer}
diff --git a/packages/nextra-theme-blog/src/cusdis.tsx b/packages/nextra-theme-blog/src/cusdis.tsx index 0a6852d8a2..3fd9bb9177 100644 --- a/packages/nextra-theme-blog/src/cusdis.tsx +++ b/packages/nextra-theme-blog/src/cusdis.tsx @@ -4,7 +4,6 @@ import { useRouter } from 'next/router' import React from 'react' import { ReactCusdis } from 'react-cusdis' import { useBlogContext } from './blog-context' -import { getTitle } from './utils/title' const Cusdis = dynamic( () => import('react-cusdis').then(mod => mod.ReactCusdis), @@ -14,7 +13,6 @@ const Cusdis = dynamic( const Comments = () => { const { config, opts } = useBlogContext() const router = useRouter() - const { pageTitle } = getTitle({ opts, config }) const { theme, resolvedTheme } = useTheme() if (config.cusdis && !config.cusdis.appId) { console.warn('[nextra/cusdis] `appId` is required') @@ -27,7 +25,7 @@ const Comments = () => { host: config.cusdis.host || 'https://cusdis.com', appId: config.cusdis.appId, pageId: router.pathname, - pageTitle, + pageTitle: opts.title, theme: theme === 'dark' || resolvedTheme === 'dark' ? 'dark' : 'light' }} /> diff --git a/packages/nextra-theme-blog/src/utils/title.ts b/packages/nextra-theme-blog/src/utils/title.ts deleted file mode 100644 index e5b90a0d8d..0000000000 --- a/packages/nextra-theme-blog/src/utils/title.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { LayoutProps } from '../types' - -export const getTitle = ({ opts, config }: LayoutProps) => { - const pageTitle = opts.meta.title || opts.titleText || '' - const title = `${pageTitle}${config.titleSuffix || ''}` - return { - pageTitle, - title - } -} diff --git a/packages/nextra-theme-docs/__test__/__snapshots__/normalize-page.spec.ts.snap b/packages/nextra-theme-docs/__test__/__snapshots__/normalize-page.spec.ts.snap index 2faa6bc6b1..c16473abb3 100644 --- a/packages/nextra-theme-docs/__test__/__snapshots__/normalize-page.spec.ts.snap +++ b/packages/nextra-theme-docs/__test__/__snapshots__/normalize-page.spec.ts.snap @@ -1,5 +1,165 @@ // Vitest Snapshot v1 +exports[`normalize-page > /404 page 1`] = ` +{ + "activeIndex": 0, + "activePath": [], + "activeThemeContext": { + "breadcrumb": true, + "footer": true, + "layout": "default", + "navbar": true, + "pagination": true, + "sidebar": true, + "toc": true, + "typesetting": "default", + }, + "activeType": undefined, + "directories": [ + { + "name": "index", + "route": "/", + "title": "Introduction", + "type": "doc", + }, + { + "name": "get-started", + "route": "/get-started", + "title": "Get Started", + "type": "doc", + }, + ], + "docsDirectories": [ + { + "name": "index", + "route": "/", + "title": "Introduction", + "type": "doc", + }, + { + "name": "get-started", + "route": "/get-started", + "title": "Get Started", + "type": "doc", + }, + ], + "flatDirectories": [ + { + "name": "index", + "route": "/", + "title": "Introduction", + "type": "doc", + }, + { + "name": "get-started", + "route": "/get-started", + "title": "Get Started", + "type": "doc", + }, + ], + "flatDocsDirectories": [ + { + "name": "index", + "route": "/", + "title": "Introduction", + "type": "doc", + }, + { + "name": "get-started", + "route": "/get-started", + "title": "Get Started", + "type": "doc", + }, + ], + "topLevelNavbarItems": [], +} +`; + +exports[`normalize-page > /500 page 1`] = ` +{ + "activeIndex": 0, + "activePath": [ + { + "name": "500", + "route": "/500", + "theme": { + "layout": "raw", + }, + "title": "500", + "type": "page", + }, + ], + "activeThemeContext": { + "breadcrumb": true, + "footer": true, + "layout": "raw", + "navbar": true, + "pagination": true, + "sidebar": true, + "toc": true, + "typesetting": "default", + }, + "activeType": "page", + "directories": [ + { + "name": "index", + "route": "/", + "title": "Introduction", + "type": "doc", + }, + { + "name": "get-started", + "route": "/get-started", + "title": "Get Started", + "type": "doc", + }, + ], + "docsDirectories": [ + { + "name": "index", + "route": "/", + "title": "Introduction", + "type": "doc", + }, + { + "name": "get-started", + "route": "/get-started", + "title": "Get Started", + "type": "doc", + }, + ], + "flatDirectories": [ + { + "name": "index", + "route": "/", + "title": "Introduction", + "type": "doc", + }, + { + "name": "get-started", + "route": "/get-started", + "title": "Get Started", + "type": "doc", + }, + ], + "flatDocsDirectories": [ + { + "name": "index", + "route": "/", + "title": "Introduction", + "type": "doc", + }, + { + "name": "get-started", + "route": "/get-started", + "title": "Get Started", + "type": "doc", + }, + ], + "topLevelNavbarItems": [], +} +`; + exports[`normalize-page > en-US getting-started 1`] = ` { "activeIndex": 0, @@ -7,8 +167,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "getting-started", "route": "/docs/getting-started", @@ -16,8 +174,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "options", "route": "/docs/options", @@ -25,8 +181,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "global-configuration", "route": "/docs/global-configuration", @@ -34,8 +188,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "data-fetching", "route": "/docs/data-fetching", @@ -43,8 +195,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/docs/error-handling", @@ -52,8 +202,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "revalidation", "route": "/docs/revalidation", @@ -61,8 +209,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -70,8 +216,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "arguments", "route": "/docs/arguments", @@ -79,8 +223,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "mutation", "route": "/docs/mutation", @@ -88,8 +230,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "pagination", "route": "/docs/pagination", @@ -97,8 +237,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "prefetching", "route": "/docs/prefetching", @@ -106,8 +244,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -115,8 +251,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -124,8 +258,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "suspense", "route": "/docs/suspense", @@ -133,8 +265,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "middleware", "route": "/docs/middleware", @@ -144,8 +274,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "cache", "route": "/docs/advanced/cache", @@ -153,8 +281,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "performance", "route": "/docs/advanced/performance", @@ -162,8 +288,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "react-native", "route": "/docs/advanced/react-native", @@ -171,15 +295,12 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "advanced", "route": "/docs/advanced", "title": "Advanced", "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "change-log", "route": "/docs/change-log", @@ -187,15 +308,12 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "docs", "route": "/docs", "title": "Docs", "type": "nav", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "getting-started", "route": "/docs/getting-started", @@ -218,8 +336,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "getting-started", "route": "/docs/getting-started", @@ -227,8 +343,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "options", "route": "/docs/options", @@ -236,8 +350,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "global-configuration", "route": "/docs/global-configuration", @@ -245,8 +357,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "data-fetching", "route": "/docs/data-fetching", @@ -254,8 +364,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/docs/error-handling", @@ -263,8 +371,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "revalidation", "route": "/docs/revalidation", @@ -272,8 +378,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -281,8 +385,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "arguments", "route": "/docs/arguments", @@ -290,8 +392,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "mutation", "route": "/docs/mutation", @@ -299,8 +399,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "pagination", "route": "/docs/pagination", @@ -308,8 +406,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "prefetching", "route": "/docs/prefetching", @@ -317,8 +413,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -326,8 +420,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -335,8 +427,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "suspense", "route": "/docs/suspense", @@ -344,8 +434,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "middleware", "route": "/docs/middleware", @@ -355,8 +443,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "cache", "route": "/docs/advanced/cache", @@ -364,8 +450,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "performance", "route": "/docs/advanced/performance", @@ -373,8 +457,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "react-native", "route": "/docs/advanced/react-native", @@ -382,15 +464,12 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "advanced", "route": "/docs/advanced", "title": "Advanced", "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "change-log", "route": "/docs/change-log", @@ -398,7 +477,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "docs", "route": "/docs", "title": "Docs", @@ -407,12 +485,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` { "children": [ { - "children": undefined, "frontMatter": { "full": true, "title": "Basic Usage", }, - "hidden": undefined, "locale": "en-US", "name": "basic", "route": "/examples/basic", @@ -420,12 +496,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Authentication", }, - "hidden": undefined, "locale": "en-US", "name": "auth", "route": "/examples/auth", @@ -433,12 +507,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Infinite Loading", }, - "hidden": undefined, "locale": "en-US", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -446,12 +518,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Error Handling", }, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/examples/error-handling", @@ -459,12 +529,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -472,7 +540,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "examples", "route": "/examples", "title": "Examples", @@ -481,12 +548,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` { "children": [ { - "children": undefined, "frontMatter": { "description": "Almost 2 years ago we open sourced SWR, the tiny data-fetching React library that people love. Today we are reaching another milestone: the 1.0 version of SWR.", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "en-US", "name": "swr-v1", "route": "/blog/swr-v1", @@ -494,7 +559,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "blog", "route": "/blog", "title": "Blog", @@ -504,8 +568,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "docsDirectories": [], "flatDirectories": [ { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "getting-started", "route": "/docs/getting-started", @@ -513,8 +575,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "options", "route": "/docs/options", @@ -522,8 +582,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "global-configuration", "route": "/docs/global-configuration", @@ -531,8 +589,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "data-fetching", "route": "/docs/data-fetching", @@ -540,8 +596,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/docs/error-handling", @@ -549,8 +603,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "revalidation", "route": "/docs/revalidation", @@ -558,8 +610,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -567,8 +617,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "arguments", "route": "/docs/arguments", @@ -576,8 +624,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "mutation", "route": "/docs/mutation", @@ -585,8 +631,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "pagination", "route": "/docs/pagination", @@ -594,8 +638,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "prefetching", "route": "/docs/prefetching", @@ -603,8 +645,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -612,8 +652,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -621,8 +659,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "suspense", "route": "/docs/suspense", @@ -630,8 +666,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "middleware", "route": "/docs/middleware", @@ -639,8 +673,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "cache", "route": "/docs/advanced/cache", @@ -648,8 +680,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "performance", "route": "/docs/advanced/performance", @@ -657,8 +687,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "react-native", "route": "/docs/advanced/react-native", @@ -666,8 +694,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "change-log", "route": "/docs/change-log", @@ -675,12 +701,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Basic Usage", }, - "hidden": undefined, "locale": "en-US", "name": "basic", "route": "/examples/basic", @@ -688,12 +712,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Authentication", }, - "hidden": undefined, "locale": "en-US", "name": "auth", "route": "/examples/auth", @@ -701,12 +723,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Infinite Loading", }, - "hidden": undefined, "locale": "en-US", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -714,12 +734,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Error Handling", }, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/examples/error-handling", @@ -727,12 +745,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -740,12 +756,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "description": "Almost 2 years ago we open sourced SWR, the tiny data-fetching React library that people love. Today we are reaching another milestone: the 1.0 version of SWR.", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "en-US", "name": "swr-v1", "route": "/blog/swr-v1", @@ -755,8 +769,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` ], "flatDocsDirectories": [ { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "getting-started", "route": "/docs/getting-started", @@ -764,8 +776,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "options", "route": "/docs/options", @@ -773,8 +783,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "global-configuration", "route": "/docs/global-configuration", @@ -782,8 +790,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "data-fetching", "route": "/docs/data-fetching", @@ -791,8 +797,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/docs/error-handling", @@ -800,8 +804,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "revalidation", "route": "/docs/revalidation", @@ -809,8 +811,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -818,8 +818,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "arguments", "route": "/docs/arguments", @@ -827,8 +825,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "mutation", "route": "/docs/mutation", @@ -836,8 +832,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "pagination", "route": "/docs/pagination", @@ -845,8 +839,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "prefetching", "route": "/docs/prefetching", @@ -854,8 +846,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -863,8 +853,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -872,8 +860,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "suspense", "route": "/docs/suspense", @@ -881,8 +867,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "middleware", "route": "/docs/middleware", @@ -890,8 +874,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "cache", "route": "/docs/advanced/cache", @@ -899,8 +881,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "performance", "route": "/docs/advanced/performance", @@ -908,8 +888,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "react-native", "route": "/docs/advanced/react-native", @@ -917,8 +895,6 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "change-log", "route": "/docs/change-log", @@ -926,12 +902,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Basic Usage", }, - "hidden": undefined, "locale": "en-US", "name": "basic", "route": "/examples/basic", @@ -939,12 +913,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Authentication", }, - "hidden": undefined, "locale": "en-US", "name": "auth", "route": "/examples/auth", @@ -952,12 +924,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Infinite Loading", }, - "hidden": undefined, "locale": "en-US", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -965,12 +935,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Error Handling", }, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/examples/error-handling", @@ -978,12 +946,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -991,12 +957,10 @@ exports[`normalize-page > en-US getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "description": "Almost 2 years ago we open sourced SWR, the tiny data-fetching React library that people love. Today we are reaching another milestone: the 1.0 version of SWR.", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "en-US", "name": "swr-v1", "route": "/blog/swr-v1", @@ -1013,7 +977,6 @@ exports[`normalize-page > en-US home 1`] = ` "activeIndex": 0, "activePath": [ { - "children": undefined, "frontMatter": { "title": "React Hooks for Data Fetching", }, @@ -1040,8 +1003,6 @@ exports[`normalize-page > en-US home 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "getting-started", "route": "/docs/getting-started", @@ -1049,8 +1010,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "options", "route": "/docs/options", @@ -1058,8 +1017,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "global-configuration", "route": "/docs/global-configuration", @@ -1067,8 +1024,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "data-fetching", "route": "/docs/data-fetching", @@ -1076,8 +1031,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/docs/error-handling", @@ -1085,8 +1038,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "revalidation", "route": "/docs/revalidation", @@ -1094,8 +1045,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -1103,8 +1052,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "arguments", "route": "/docs/arguments", @@ -1112,8 +1059,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "mutation", "route": "/docs/mutation", @@ -1121,8 +1066,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "pagination", "route": "/docs/pagination", @@ -1130,8 +1073,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "prefetching", "route": "/docs/prefetching", @@ -1139,8 +1080,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -1148,8 +1087,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -1157,8 +1094,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "suspense", "route": "/docs/suspense", @@ -1166,8 +1101,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "middleware", "route": "/docs/middleware", @@ -1177,8 +1110,6 @@ exports[`normalize-page > en-US home 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "cache", "route": "/docs/advanced/cache", @@ -1186,8 +1117,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "performance", "route": "/docs/advanced/performance", @@ -1195,8 +1124,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "react-native", "route": "/docs/advanced/react-native", @@ -1204,15 +1131,12 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "advanced", "route": "/docs/advanced", "title": "Advanced", "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "change-log", "route": "/docs/change-log", @@ -1220,7 +1144,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "docs", "route": "/docs", "title": "Docs", @@ -1229,12 +1152,10 @@ exports[`normalize-page > en-US home 1`] = ` { "children": [ { - "children": undefined, "frontMatter": { "full": true, "title": "Basic Usage", }, - "hidden": undefined, "locale": "en-US", "name": "basic", "route": "/examples/basic", @@ -1242,12 +1163,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Authentication", }, - "hidden": undefined, "locale": "en-US", "name": "auth", "route": "/examples/auth", @@ -1255,12 +1174,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Infinite Loading", }, - "hidden": undefined, "locale": "en-US", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -1268,12 +1185,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Error Handling", }, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/examples/error-handling", @@ -1281,12 +1196,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -1294,7 +1207,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "examples", "route": "/examples", "title": "Examples", @@ -1303,12 +1215,10 @@ exports[`normalize-page > en-US home 1`] = ` { "children": [ { - "children": undefined, "frontMatter": { "description": "Almost 2 years ago we open sourced SWR, the tiny data-fetching React library that people love. Today we are reaching another milestone: the 1.0 version of SWR.", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "en-US", "name": "swr-v1", "route": "/blog/swr-v1", @@ -1316,7 +1226,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "blog", "route": "/blog", "title": "Blog", @@ -1326,8 +1235,6 @@ exports[`normalize-page > en-US home 1`] = ` "docsDirectories": [], "flatDirectories": [ { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "getting-started", "route": "/docs/getting-started", @@ -1335,8 +1242,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "options", "route": "/docs/options", @@ -1344,8 +1249,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "global-configuration", "route": "/docs/global-configuration", @@ -1353,8 +1256,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "data-fetching", "route": "/docs/data-fetching", @@ -1362,8 +1263,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/docs/error-handling", @@ -1371,8 +1270,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "revalidation", "route": "/docs/revalidation", @@ -1380,8 +1277,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -1389,8 +1284,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "arguments", "route": "/docs/arguments", @@ -1398,8 +1291,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "mutation", "route": "/docs/mutation", @@ -1407,8 +1298,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "pagination", "route": "/docs/pagination", @@ -1416,8 +1305,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "prefetching", "route": "/docs/prefetching", @@ -1425,8 +1312,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -1434,8 +1319,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -1443,8 +1326,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "suspense", "route": "/docs/suspense", @@ -1452,8 +1333,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "middleware", "route": "/docs/middleware", @@ -1461,8 +1340,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "cache", "route": "/docs/advanced/cache", @@ -1470,8 +1347,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "performance", "route": "/docs/advanced/performance", @@ -1479,8 +1354,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "react-native", "route": "/docs/advanced/react-native", @@ -1488,8 +1361,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "change-log", "route": "/docs/change-log", @@ -1497,12 +1368,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Basic Usage", }, - "hidden": undefined, "locale": "en-US", "name": "basic", "route": "/examples/basic", @@ -1510,12 +1379,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Authentication", }, - "hidden": undefined, "locale": "en-US", "name": "auth", "route": "/examples/auth", @@ -1523,12 +1390,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Infinite Loading", }, - "hidden": undefined, "locale": "en-US", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -1536,12 +1401,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Error Handling", }, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/examples/error-handling", @@ -1549,12 +1412,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -1562,12 +1423,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "description": "Almost 2 years ago we open sourced SWR, the tiny data-fetching React library that people love. Today we are reaching another milestone: the 1.0 version of SWR.", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "en-US", "name": "swr-v1", "route": "/blog/swr-v1", @@ -1577,8 +1436,6 @@ exports[`normalize-page > en-US home 1`] = ` ], "flatDocsDirectories": [ { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "getting-started", "route": "/docs/getting-started", @@ -1586,8 +1443,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "options", "route": "/docs/options", @@ -1595,8 +1450,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "global-configuration", "route": "/docs/global-configuration", @@ -1604,8 +1457,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "data-fetching", "route": "/docs/data-fetching", @@ -1613,8 +1464,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/docs/error-handling", @@ -1622,8 +1471,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "revalidation", "route": "/docs/revalidation", @@ -1631,8 +1478,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -1640,8 +1485,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "arguments", "route": "/docs/arguments", @@ -1649,8 +1492,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "mutation", "route": "/docs/mutation", @@ -1658,8 +1499,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "pagination", "route": "/docs/pagination", @@ -1667,8 +1506,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "prefetching", "route": "/docs/prefetching", @@ -1676,8 +1513,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -1685,8 +1520,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -1694,8 +1527,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "suspense", "route": "/docs/suspense", @@ -1703,8 +1534,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "middleware", "route": "/docs/middleware", @@ -1712,8 +1541,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "cache", "route": "/docs/advanced/cache", @@ -1721,8 +1548,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "performance", "route": "/docs/advanced/performance", @@ -1730,8 +1555,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "react-native", "route": "/docs/advanced/react-native", @@ -1739,8 +1562,6 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "change-log", "route": "/docs/change-log", @@ -1748,12 +1569,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Basic Usage", }, - "hidden": undefined, "locale": "en-US", "name": "basic", "route": "/examples/basic", @@ -1761,12 +1580,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Authentication", }, - "hidden": undefined, "locale": "en-US", "name": "auth", "route": "/examples/auth", @@ -1774,12 +1591,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Infinite Loading", }, - "hidden": undefined, "locale": "en-US", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -1787,12 +1602,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Error Handling", }, - "hidden": undefined, "locale": "en-US", "name": "error-handling", "route": "/examples/error-handling", @@ -1800,12 +1613,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -1813,12 +1624,10 @@ exports[`normalize-page > en-US home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "description": "Almost 2 years ago we open sourced SWR, the tiny data-fetching React library that people love. Today we are reaching another milestone: the 1.0 version of SWR.", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "en-US", "name": "swr-v1", "route": "/blog/swr-v1", @@ -1837,8 +1646,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "getting-started", "route": "/docs/getting-started", @@ -1846,8 +1653,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "options", "route": "/docs/options", @@ -1855,8 +1660,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "global-configuration", "route": "/docs/global-configuration", @@ -1864,8 +1667,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "data-fetching", "route": "/docs/data-fetching", @@ -1873,8 +1674,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/docs/error-handling", @@ -1882,8 +1681,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "revalidation", "route": "/docs/revalidation", @@ -1891,8 +1688,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -1900,8 +1695,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "arguments", "route": "/docs/arguments", @@ -1909,8 +1702,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "mutation", "route": "/docs/mutation", @@ -1918,8 +1709,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "pagination", "route": "/docs/pagination", @@ -1927,8 +1716,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "prefetching", "route": "/docs/prefetching", @@ -1936,8 +1723,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -1945,8 +1730,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -1954,8 +1737,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "suspense", "route": "/docs/suspense", @@ -1963,8 +1744,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "middleware", "route": "/docs/middleware", @@ -1974,8 +1753,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "cache", "route": "/docs/advanced/cache", @@ -1983,8 +1760,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "performance", "route": "/docs/advanced/performance", @@ -1992,8 +1767,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "react-native", "route": "/docs/advanced/react-native", @@ -2001,15 +1774,12 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "advanced", "route": "/docs/advanced", "title": "高级", "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "change-log", "route": "/docs/change-log", @@ -2017,15 +1787,12 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "docs", "route": "/docs", "title": "文档", "type": "nav", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "getting-started", "route": "/docs/getting-started", @@ -2048,8 +1815,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "getting-started", "route": "/docs/getting-started", @@ -2057,8 +1822,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "options", "route": "/docs/options", @@ -2066,8 +1829,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "global-configuration", "route": "/docs/global-configuration", @@ -2075,8 +1836,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "data-fetching", "route": "/docs/data-fetching", @@ -2084,8 +1843,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/docs/error-handling", @@ -2093,8 +1850,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "revalidation", "route": "/docs/revalidation", @@ -2102,8 +1857,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -2111,8 +1864,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "arguments", "route": "/docs/arguments", @@ -2120,8 +1871,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "mutation", "route": "/docs/mutation", @@ -2129,8 +1878,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "pagination", "route": "/docs/pagination", @@ -2138,8 +1885,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "prefetching", "route": "/docs/prefetching", @@ -2147,8 +1892,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -2156,8 +1899,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -2165,8 +1906,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "suspense", "route": "/docs/suspense", @@ -2174,8 +1913,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "middleware", "route": "/docs/middleware", @@ -2185,8 +1922,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "cache", "route": "/docs/advanced/cache", @@ -2194,8 +1929,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "performance", "route": "/docs/advanced/performance", @@ -2203,8 +1936,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "react-native", "route": "/docs/advanced/react-native", @@ -2212,15 +1943,12 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "advanced", "route": "/docs/advanced", "title": "高级", "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "change-log", "route": "/docs/change-log", @@ -2228,7 +1956,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "docs", "route": "/docs", "title": "文档", @@ -2237,12 +1964,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` { "children": [ { - "children": undefined, "frontMatter": { "full": true, "title": "基本用法", }, - "hidden": undefined, "locale": "zh-CN", "name": "basic", "route": "/examples/basic", @@ -2250,12 +1975,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "身份验证", }, - "hidden": undefined, "locale": "zh-CN", "name": "auth", "route": "/examples/auth", @@ -2263,12 +1986,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "无限加载", }, - "hidden": undefined, "locale": "zh-CN", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -2276,12 +1997,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "错误处理", }, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/examples/error-handling", @@ -2289,12 +2008,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -2302,7 +2019,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "examples", "route": "/examples", "title": "示例", @@ -2311,12 +2027,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` { "children": [ { - "children": undefined, "frontMatter": { "description": "大约两年前,我们开源了 SWR,大家喜爱的小型数据请求 React 库。今天,我们迎来了另一个里程碑:SWR 1.0 版本发布。", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "zh-CN", "name": "swr-v1", "route": "/blog/swr-v1", @@ -2324,7 +2038,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "blog", "route": "/blog", "title": "博客", @@ -2334,8 +2047,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "docsDirectories": [], "flatDirectories": [ { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "getting-started", "route": "/docs/getting-started", @@ -2343,8 +2054,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "options", "route": "/docs/options", @@ -2352,8 +2061,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "global-configuration", "route": "/docs/global-configuration", @@ -2361,8 +2068,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "data-fetching", "route": "/docs/data-fetching", @@ -2370,8 +2075,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/docs/error-handling", @@ -2379,8 +2082,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "revalidation", "route": "/docs/revalidation", @@ -2388,8 +2089,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -2397,8 +2096,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "arguments", "route": "/docs/arguments", @@ -2406,8 +2103,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "mutation", "route": "/docs/mutation", @@ -2415,8 +2110,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "pagination", "route": "/docs/pagination", @@ -2424,8 +2117,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "prefetching", "route": "/docs/prefetching", @@ -2433,8 +2124,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -2442,8 +2131,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -2451,8 +2138,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "suspense", "route": "/docs/suspense", @@ -2460,8 +2145,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "middleware", "route": "/docs/middleware", @@ -2469,8 +2152,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "cache", "route": "/docs/advanced/cache", @@ -2478,8 +2159,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "performance", "route": "/docs/advanced/performance", @@ -2487,8 +2166,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "react-native", "route": "/docs/advanced/react-native", @@ -2496,8 +2173,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "change-log", "route": "/docs/change-log", @@ -2505,12 +2180,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "基本用法", }, - "hidden": undefined, "locale": "zh-CN", "name": "basic", "route": "/examples/basic", @@ -2518,12 +2191,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "身份验证", }, - "hidden": undefined, "locale": "zh-CN", "name": "auth", "route": "/examples/auth", @@ -2531,12 +2202,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "无限加载", }, - "hidden": undefined, "locale": "zh-CN", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -2544,12 +2213,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "错误处理", }, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/examples/error-handling", @@ -2557,12 +2224,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -2570,12 +2235,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "description": "大约两年前,我们开源了 SWR,大家喜爱的小型数据请求 React 库。今天,我们迎来了另一个里程碑:SWR 1.0 版本发布。", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "zh-CN", "name": "swr-v1", "route": "/blog/swr-v1", @@ -2585,8 +2248,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` ], "flatDocsDirectories": [ { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "getting-started", "route": "/docs/getting-started", @@ -2594,8 +2255,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "options", "route": "/docs/options", @@ -2603,8 +2262,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "global-configuration", "route": "/docs/global-configuration", @@ -2612,8 +2269,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "data-fetching", "route": "/docs/data-fetching", @@ -2621,8 +2276,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/docs/error-handling", @@ -2630,8 +2283,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "revalidation", "route": "/docs/revalidation", @@ -2639,8 +2290,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -2648,8 +2297,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "arguments", "route": "/docs/arguments", @@ -2657,8 +2304,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "mutation", "route": "/docs/mutation", @@ -2666,8 +2311,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "pagination", "route": "/docs/pagination", @@ -2675,8 +2318,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "prefetching", "route": "/docs/prefetching", @@ -2684,8 +2325,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -2693,8 +2332,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -2702,8 +2339,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "suspense", "route": "/docs/suspense", @@ -2711,8 +2346,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "middleware", "route": "/docs/middleware", @@ -2720,8 +2353,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "cache", "route": "/docs/advanced/cache", @@ -2729,8 +2360,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "performance", "route": "/docs/advanced/performance", @@ -2738,8 +2367,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "react-native", "route": "/docs/advanced/react-native", @@ -2747,8 +2374,6 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "change-log", "route": "/docs/change-log", @@ -2756,12 +2381,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "基本用法", }, - "hidden": undefined, "locale": "zh-CN", "name": "basic", "route": "/examples/basic", @@ -2769,12 +2392,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "身份验证", }, - "hidden": undefined, "locale": "zh-CN", "name": "auth", "route": "/examples/auth", @@ -2782,12 +2403,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "无限加载", }, - "hidden": undefined, "locale": "zh-CN", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -2795,12 +2414,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "错误处理", }, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/examples/error-handling", @@ -2808,12 +2425,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -2821,12 +2436,10 @@ exports[`normalize-page > zh-CN getting-started 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "description": "大约两年前,我们开源了 SWR,大家喜爱的小型数据请求 React 库。今天,我们迎来了另一个里程碑:SWR 1.0 版本发布。", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "zh-CN", "name": "swr-v1", "route": "/blog/swr-v1", @@ -2843,7 +2456,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "activeIndex": 0, "activePath": [ { - "children": undefined, "frontMatter": { "title": "用于数据请求的 React Hooks 库", }, @@ -2870,8 +2482,6 @@ exports[`normalize-page > zh-CN home 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "getting-started", "route": "/docs/getting-started", @@ -2879,8 +2489,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "options", "route": "/docs/options", @@ -2888,8 +2496,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "global-configuration", "route": "/docs/global-configuration", @@ -2897,8 +2503,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "data-fetching", "route": "/docs/data-fetching", @@ -2906,8 +2510,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/docs/error-handling", @@ -2915,8 +2517,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "revalidation", "route": "/docs/revalidation", @@ -2924,8 +2524,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -2933,8 +2531,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "arguments", "route": "/docs/arguments", @@ -2942,8 +2538,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "mutation", "route": "/docs/mutation", @@ -2951,8 +2545,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "pagination", "route": "/docs/pagination", @@ -2960,8 +2552,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "prefetching", "route": "/docs/prefetching", @@ -2969,8 +2559,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -2978,8 +2566,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -2987,8 +2573,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "suspense", "route": "/docs/suspense", @@ -2996,8 +2580,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "middleware", "route": "/docs/middleware", @@ -3007,8 +2589,6 @@ exports[`normalize-page > zh-CN home 1`] = ` { "children": [ { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "cache", "route": "/docs/advanced/cache", @@ -3016,8 +2596,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "performance", "route": "/docs/advanced/performance", @@ -3025,8 +2603,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "react-native", "route": "/docs/advanced/react-native", @@ -3034,15 +2610,12 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "advanced", "route": "/docs/advanced", "title": "高级", "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "change-log", "route": "/docs/change-log", @@ -3050,7 +2623,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "docs", "route": "/docs", "title": "文档", @@ -3059,12 +2631,10 @@ exports[`normalize-page > zh-CN home 1`] = ` { "children": [ { - "children": undefined, "frontMatter": { "full": true, "title": "基本用法", }, - "hidden": undefined, "locale": "zh-CN", "name": "basic", "route": "/examples/basic", @@ -3072,12 +2642,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "身份验证", }, - "hidden": undefined, "locale": "zh-CN", "name": "auth", "route": "/examples/auth", @@ -3085,12 +2653,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "无限加载", }, - "hidden": undefined, "locale": "zh-CN", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -3098,12 +2664,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "错误处理", }, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/examples/error-handling", @@ -3111,12 +2675,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -3124,7 +2686,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "examples", "route": "/examples", "title": "示例", @@ -3133,12 +2694,10 @@ exports[`normalize-page > zh-CN home 1`] = ` { "children": [ { - "children": undefined, "frontMatter": { "description": "大约两年前,我们开源了 SWR,大家喜爱的小型数据请求 React 库。今天,我们迎来了另一个里程碑:SWR 1.0 版本发布。", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "zh-CN", "name": "swr-v1", "route": "/blog/swr-v1", @@ -3146,7 +2705,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, ], - "hidden": undefined, "name": "blog", "route": "/blog", "title": "博客", @@ -3156,8 +2714,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "docsDirectories": [], "flatDirectories": [ { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "getting-started", "route": "/docs/getting-started", @@ -3165,8 +2721,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "options", "route": "/docs/options", @@ -3174,8 +2728,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "global-configuration", "route": "/docs/global-configuration", @@ -3183,8 +2735,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "data-fetching", "route": "/docs/data-fetching", @@ -3192,8 +2742,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/docs/error-handling", @@ -3201,8 +2749,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "revalidation", "route": "/docs/revalidation", @@ -3210,8 +2756,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -3219,8 +2763,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "arguments", "route": "/docs/arguments", @@ -3228,8 +2770,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "mutation", "route": "/docs/mutation", @@ -3237,8 +2777,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "pagination", "route": "/docs/pagination", @@ -3246,8 +2784,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "prefetching", "route": "/docs/prefetching", @@ -3255,8 +2791,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -3264,8 +2798,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -3273,8 +2805,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "suspense", "route": "/docs/suspense", @@ -3282,8 +2812,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "middleware", "route": "/docs/middleware", @@ -3291,8 +2819,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "cache", "route": "/docs/advanced/cache", @@ -3300,8 +2826,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "performance", "route": "/docs/advanced/performance", @@ -3309,8 +2833,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "react-native", "route": "/docs/advanced/react-native", @@ -3318,8 +2840,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "change-log", "route": "/docs/change-log", @@ -3327,12 +2847,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "基本用法", }, - "hidden": undefined, "locale": "zh-CN", "name": "basic", "route": "/examples/basic", @@ -3340,12 +2858,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "身份验证", }, - "hidden": undefined, "locale": "zh-CN", "name": "auth", "route": "/examples/auth", @@ -3353,12 +2869,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "无限加载", }, - "hidden": undefined, "locale": "zh-CN", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -3366,12 +2880,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "错误处理", }, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/examples/error-handling", @@ -3379,12 +2891,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -3392,12 +2902,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "description": "大约两年前,我们开源了 SWR,大家喜爱的小型数据请求 React 库。今天,我们迎来了另一个里程碑:SWR 1.0 版本发布。", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "zh-CN", "name": "swr-v1", "route": "/blog/swr-v1", @@ -3407,8 +2915,6 @@ exports[`normalize-page > zh-CN home 1`] = ` ], "flatDocsDirectories": [ { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "getting-started", "route": "/docs/getting-started", @@ -3416,8 +2922,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "options", "route": "/docs/options", @@ -3425,8 +2929,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "global-configuration", "route": "/docs/global-configuration", @@ -3434,8 +2936,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "data-fetching", "route": "/docs/data-fetching", @@ -3443,8 +2943,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/docs/error-handling", @@ -3452,8 +2950,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "revalidation", "route": "/docs/revalidation", @@ -3461,8 +2957,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "conditional-fetching", "route": "/docs/conditional-fetching", @@ -3470,8 +2964,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "arguments", "route": "/docs/arguments", @@ -3479,8 +2971,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "mutation", "route": "/docs/mutation", @@ -3488,8 +2978,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "pagination", "route": "/docs/pagination", @@ -3497,8 +2985,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "prefetching", "route": "/docs/prefetching", @@ -3506,8 +2992,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "with-nextjs", "route": "/docs/with-nextjs", @@ -3515,8 +2999,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "en-US", "name": "typescript", "route": "/docs/typescript", @@ -3524,8 +3006,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "suspense", "route": "/docs/suspense", @@ -3533,8 +3013,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "middleware", "route": "/docs/middleware", @@ -3542,8 +3020,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "cache", "route": "/docs/advanced/cache", @@ -3551,8 +3027,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "performance", "route": "/docs/advanced/performance", @@ -3560,8 +3034,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "react-native", "route": "/docs/advanced/react-native", @@ -3569,8 +3041,6 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, - "hidden": undefined, "locale": "zh-CN", "name": "change-log", "route": "/docs/change-log", @@ -3578,12 +3048,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "基本用法", }, - "hidden": undefined, "locale": "zh-CN", "name": "basic", "route": "/examples/basic", @@ -3591,12 +3059,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "身份验证", }, - "hidden": undefined, "locale": "zh-CN", "name": "auth", "route": "/examples/auth", @@ -3604,12 +3070,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "无限加载", }, - "hidden": undefined, "locale": "zh-CN", "name": "infinite-loading", "route": "/examples/infinite-loading", @@ -3617,12 +3081,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "错误处理", }, - "hidden": undefined, "locale": "zh-CN", "name": "error-handling", "route": "/examples/error-handling", @@ -3630,12 +3092,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "full": true, "title": "Next.js SSR", }, - "hidden": undefined, "locale": "en-US", "name": "ssr", "route": "/examples/ssr", @@ -3643,12 +3103,10 @@ exports[`normalize-page > zh-CN home 1`] = ` "type": "doc", }, { - "children": undefined, "frontMatter": { "description": "大约两年前,我们开源了 SWR,大家喜爱的小型数据请求 React 库。今天,我们迎来了另一个里程碑:SWR 1.0 版本发布。", "image": "https://assets.vercel.com/image/upload/v1630059453/swr/v1.png", }, - "hidden": undefined, "locale": "zh-CN", "name": "swr-v1", "route": "/blog/swr-v1", diff --git a/packages/nextra-theme-docs/__test__/normalize-page.spec.ts b/packages/nextra-theme-docs/__test__/normalize-page.spec.ts index 02b1ce84e4..8e29680c19 100644 --- a/packages/nextra-theme-docs/__test__/normalize-page.spec.ts +++ b/packages/nextra-theme-docs/__test__/normalize-page.spec.ts @@ -1,6 +1,7 @@ import { describe, it, expect } from 'vitest' import { cnPageMap, usPageMap } from './__fixture__/pageMap' import normalizePages from '../src/utils/normalize-pages' + const defaultLocale = 'en-US' describe('normalize-page', () => { @@ -47,4 +48,70 @@ describe('normalize-page', () => { }) expect(result).toMatchSnapshot() }) + + it('/404 page', () => { + const data = { + list: [ + { name: '404', route: '/404' }, + { name: 'get-started', route: '/get-started' }, + { name: 'index', route: '/' }, + { + name: 'meta.json', + route: '', + meta: { + '404': { + type: 'page', + theme: { + layout: 'full' + } + }, + index: { + title: 'Introduction' + }, + 'get-started': { + title: 'Get Started' + } + } + } + ], + locale: 'en-US', + defaultLocale: 'en-US', + route: '/500ddd' + } + const result = normalizePages(data) + expect(result).toMatchSnapshot() + }) + + it('/500 page', () => { + const data = { + list: [ + { name: '500', route: '/500', }, + { name: 'get-started', route: '/get-started' }, + { name: 'index', route: '/' }, + { + name: 'meta.json', + route: '', + meta: { + '500': { + type: 'page', + theme: { + layout: 'raw' + } + }, + index: { + title: 'Introduction' + }, + 'get-started': { + title: 'Get Started' + } + } + } + ], + locale: 'en-US', + defaultLocale: 'en-US', + route: '/500' + } + const result = normalizePages(data) + expect(result).toMatchSnapshot() + }) }) diff --git a/packages/nextra-theme-docs/package.json b/packages/nextra-theme-docs/package.json index 4f24e6f281..f96130a1b3 100644 --- a/packages/nextra-theme-docs/package.json +++ b/packages/nextra-theme-docs/package.json @@ -45,7 +45,7 @@ "@headlessui/react": "^1.6.5", "@mdx-js/react": "^2.1.2", "@reach/skip-nav": "^0.17.0", - "classnames": "^2.3.1", + "clsx": "^1.2.1", "flexsearch": "^0.7.21", "focus-visible": "^5.2.0", "github-slugger": "^1.4.0", @@ -77,12 +77,12 @@ "nextra": "workspace:*", "postcss": "^8.4.14", "postcss-cli": "^8.3.1", + "postcss-import": "^14.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", "tailwindcss": "^3.1.8", "tsup": "^6.2.1", - "vitest": "^0.21.0", - "postcss-import": "^14.1.0" + "vitest": "^0.21.0" }, "prettier": { "semi": false, diff --git a/packages/nextra-theme-docs/src/components/banner.tsx b/packages/nextra-theme-docs/src/components/banner.tsx index 3e45adaa0d..528233510a 100644 --- a/packages/nextra-theme-docs/src/components/banner.tsx +++ b/packages/nextra-theme-docs/src/components/banner.tsx @@ -1,12 +1,10 @@ import React, { ReactElement } from 'react' -import { useRouter } from 'next/router' import { XIcon } from 'nextra/icons' import { useConfig } from '../config' -import renderComponent from '../utils/render-component' +import { renderComponent } from '../utils/render' export function Banner(): ReactElement { const { bannerKey, banner } = useConfig() - const { locale = 'en-US' } = useRouter() return ( <> @@ -20,7 +18,7 @@ export function Banner(): ReactElement { {banner && bannerKey ? (
- {renderComponent(banner, { locale })} + {renderComponent(banner)}