diff --git a/README.md b/README.md
index c8c520172d..587c65afd9 100644
--- a/README.md
+++ b/README.md
@@ -56,6 +56,9 @@ the watch mode for both nextra and the theme in separated terminals.
diff --git a/docs/pages/_meta.ts b/docs/pages/_meta.ts
index bafe054055..a6f350cde4 100644
--- a/docs/pages/_meta.ts
+++ b/docs/pages/_meta.ts
@@ -11,21 +11,6 @@ export default {
type: 'page',
title: 'Documentation'
},
- showcase: {
- type: 'page',
- title: 'Showcase',
- theme: {
- typesetting: 'article',
- layout: 'full'
- }
- },
- about: {
- type: 'page',
- title: 'About',
- theme: {
- typesetting: 'article'
- }
- },
version: {
type: 'menu',
title: 'Version',
@@ -37,7 +22,31 @@ export default {
}
}
},
- '404': {
+ about: {
+ type: 'page',
+ title: 'About',
+ theme: {
+ typesetting: 'article'
+ }
+ },
+ showcase: {
+ type: 'page',
+ title: 'Showcase',
+ theme: {
+ typesetting: 'article',
+ layout: 'full',
+ timestamp: false
+ }
+ },
+ sponsors: {
+ type: 'page',
+ title: 'Sponsors',
+ theme: {
+ typesetting: 'article',
+ timestamp: false
+ }
+ },
+ 404: {
type: 'page',
theme: {
timestamp: false,
diff --git a/docs/pages/about.mdx b/docs/pages/about.mdx
index 77b9960be3..f5837372af 100644
--- a/docs/pages/about.mdx
+++ b/docs/pages/about.mdx
@@ -1,5 +1,3 @@
-import { Cards } from 'nextra/components'
-
# About Nextra
Nextra was initially created by [Vercel](https://vercel.com) members
@@ -62,16 +60,3 @@ product.
## License
The Nextra project and themes are licensed under the MIT license.
-
-## Sponsors
-
-
-
- <>![Speakeasy](./showcase/speakeasy.png)>
-
-
diff --git a/docs/pages/showcase.mdx b/docs/pages/showcase.mdx
index c71267a8c4..c299929e11 100644
--- a/docs/pages/showcase.mdx
+++ b/docs/pages/showcase.mdx
@@ -4,199 +4,179 @@ title: Showcase
import { Cards } from 'nextra/components'
-{Showcase }
+
+ {'Showcase'}
+
-{Open
-source projects powered by Nextra
}
+
+ {'Open source projects powered by Nextra'}
+
-
+
+ <>![Speakeasy preview](./showcase/speakeasy.png)>
+
+
+ <>![React Flow preview](./showcase/react-flow.jpg)>
+
+
+ <>![Svelte Flow preview](./showcase/svelte-flow.jpg)>
+
+
<>![The Graph preview](./showcase/thegraph.jpeg)>
-
-
+
+
<>![GraphQL preview](./showcase/graphql.png)>
-
-
+
+
<>![SWR preview](./showcase/swr.png)>
-
-
+
+
<>![COBE preview](./showcase/cobe.png)>
-
-
+
<>![JavaScript Patterns preview](./showcase/javascript-patterns.jpg)>
-
-
+
<>![CodeSandbox preview](./showcase/codesandbox.jpg)>
-
-
+
+
<>![DocsGPT preview](./showcase/docsgpt.png)>
-
-
+
+
<>![CloudQuery preview](./showcase/cloudquery.svg)>
-
-
+
+
<>![Edge Runtime preview](./showcase/edge-runtime.jpeg)>
-
-
+
+
<>![Livepeer preview](./showcase/livepeer.png)>
-
-
+
+
<>![Sound.xyz preview](./showcase/sound.xyz.png)>
-
-
- <>![Speakeasy preview](./showcase/speakeasy.png)>
-
-
+
+
<>![Panda preview](./showcase/panda.png)>
-
-
+
+
<>![Kuma UI preview](./showcase/kuma-ui.png)>
-
-
+
+
<>
![Langfuse Open Source LLM Engineering Platform](./showcase/langfuse.png)
>
-
-
+
+
<>![The Guild Blog preview](./showcase/the-guild.png)>
-
-
+
+
<>![GraphQL Hive preview](./showcase/graphql-hive.png)>
-
-
+
+
<>![GraphQL Yoga preview](./showcase/graphql-yoga.png)>
-
-
+
+
<>![GraphQL Envelop preview](./showcase/graphql-envelop.png)>
-
-
+
<>![GraphQL Inspector preview](./showcase/graphql-inspector.png)>
-
-
+
<>![GraphQL Code Generator preview](./showcase/graphql-codegen.png)>
-
-
+
+
<>![GraphQL Mesh preview](./showcase/graphql-mesh.png)>
-
-
+
+
<>![GraphQL Tools preview](./showcase/graphql-tools.png)>
-
-
+
+
<>![GraphQL Modules preview](./showcase/graphql-modules.png)>
-
-
+
+
<>![GraphQL ESLint preview](./showcase/graphql-eslint.png)>
-
-
+
+
<>![GraphQL Config preview](./showcase/graphql-config.png)>
-
-
+
+
<>![GraphQL Scalars preview](./showcase/graphql-scalars.png)>
-
-
+
+
<>![GraphQL Shield preview](./showcase/graphql-shield.png)>
-
-
+
+
<>![GraphQL SOFA preview](./showcase/graphql-sofa.png)>
-
-
+
<>![Apollo Angular preview](./showcase/apollo-angular.png)>
-
-
+
+
<>![KitQL preview](./showcase/kitql.png)>
-
-
+
+
<>![GraphQL SSE preview](./showcase/graphql-sse.png)>
-
-
+
+
<>![GraphQL WS preview](./showcase/graphql-ws.png)>
-
-
+
+
<>![feTS preview](./showcase/fets.png)>
-
-
+
<>![JavaScript Code Challenges preview](./showcase/jscodechallenges.png)>
-
-
+
+
<>![React Cosmos preview](./showcase/react-cosmos.png)>
-
-
+
+
<>![Typia preview](./showcase/typia.png)>
-
-
+
+
<>![Nestia preview](./showcase/nestia.png)>
-
-
+
+
<>![Safe preview](./showcase/safe-core.png)>
-
-
+
+
<>![Auth.js preview](./showcase/authjs.png)>
-
-
+
+
<>![imgix preview](./showcase/imgix.png)>
-
-
+
+
<>![AnythingLLM preview](./showcase/anythingllm.png)>
-
+
-export const ShowcaseCard = Object.assign(
+export const Card = Object.assign(
// Copy card component and add default props
Cards.Card.bind(),
{
- displayName: 'ShowcaseCard',
+ displayName: 'Card',
defaultProps: {
image: true,
arrow: true,
- target: '_blank'
+ target: '_blank',
+ rel: 'noreferrer'
}
}
)
diff --git a/docs/pages/showcase/react-flow.jpg b/docs/pages/showcase/react-flow.jpg
new file mode 100644
index 0000000000..c085ea5227
Binary files /dev/null and b/docs/pages/showcase/react-flow.jpg differ
diff --git a/docs/pages/showcase/svelte-flow.jpg b/docs/pages/showcase/svelte-flow.jpg
new file mode 100644
index 0000000000..42d88a98a2
Binary files /dev/null and b/docs/pages/showcase/svelte-flow.jpg differ
diff --git a/docs/pages/showcase/xyflow.jpg b/docs/pages/showcase/xyflow.jpg
new file mode 100644
index 0000000000..f145289660
Binary files /dev/null and b/docs/pages/showcase/xyflow.jpg differ
diff --git a/docs/pages/sponsors.mdx b/docs/pages/sponsors.mdx
new file mode 100644
index 0000000000..817b684812
--- /dev/null
+++ b/docs/pages/sponsors.mdx
@@ -0,0 +1,38 @@
+import { Button, Cards } from 'nextra/components'
+import { Card } from './showcase.mdx'
+
+
+ {'Sponsors'}
+
+
+
+ {'Your sponsorship means a lot to open source projects, including Nextra'}
+
+
+
+ {'Support Nextra'}
+
+
+{/* Organization Sponsors */}
+
+
+
+ <>![Speakeasy preview](./showcase/speakeasy.png)>
+
+
+ <>![xyflow preview](./showcase/xyflow.jpg)>
+
+
diff --git a/packages/nextra-theme-docs/src/mdx-components.tsx b/packages/nextra-theme-docs/src/mdx-components.tsx
index d9d4586299..6552e921e4 100644
--- a/packages/nextra-theme-docs/src/mdx-components.tsx
+++ b/packages/nextra-theme-docs/src/mdx-components.tsx
@@ -75,7 +75,8 @@ const createHeading = (
h4: '_mt-8 _text-xl',
h5: '_mt-8 _text-lg',
h6: '_mt-8 _text-base'
- }[Tag]
+ }[Tag],
+ className
)
}
{...props}