Skip to content

feat: use fumadocs for website #1654

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 67 commits into from
Jul 22, 2025
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
86675ec
refactor: move examples into an src directory
nperez0111 Apr 30, 2025
b909c73
feat: fumadocs
nperez0111 May 7, 2025
20f553c
Merge branch 'main' into fumadocs
nperez0111 Jun 10, 2025
2c2e840
fix: ai examples working again
nperez0111 Jun 10, 2025
c43cc09
chore: update deps
nperez0111 Jun 10, 2025
f8fdc6f
feat: ton more for fumadocs
nperez0111 Jun 11, 2025
2714655
chore: rm .source
nperez0111 Jun 11, 2025
4afa6bb
chore: add react compiler
nperez0111 Jun 12, 2025
18d0d1f
docs: Fumadocs migration (#1769)
matthewlipski Jun 27, 2025
9e729d6
Implemented PR feedback
matthewlipski Jul 2, 2025
614d477
Small fix
matthewlipski Jul 2, 2025
b92b54d
Moved example data from collection to generated file
matthewlipski Jul 2, 2025
ee31027
- Made footer always full width
matthewlipski Jul 2, 2025
c065253
Revert next config
matthewlipski Jul 3, 2025
023a508
Finished cleaning example data for components
matthewlipski Jul 3, 2025
bbf1539
NextJS-esque layout PoC
matthewlipski Jul 4, 2025
1695548
- Removed ToC dropdown from mobile view
matthewlipski Jul 7, 2025
df74163
Merge branch 'main' into fumadocs
matthewlipski Jul 8, 2025
154768d
Additional merge fixes
matthewlipski Jul 8, 2025
64652da
Merge branch 'main' into fumadocs
matthewlipski Jul 8, 2025
152b67a
chore: regenerate pnpm lock
nperez0111 Jul 8, 2025
90a9435
feat: content re-organization (#1772)
nperez0111 Jul 8, 2025
13292fe
chore: pnpm-lock
nperez0111 Jul 8, 2025
27ac625
chore:
nperez0111 Jul 8, 2025
d9995a3
chore: bump packages
nperez0111 Jul 8, 2025
2380f9c
chore: forget ending tag
nperez0111 Jul 8, 2025
b7cdacf
docs: minor cleanup
nperez0111 Jul 9, 2025
9b1accb
build: get project to build again
nperez0111 Jul 9, 2025
72a0240
Fixed styles
matthewlipski Jul 9, 2025
dc5c350
Streamlined README
matthewlipski Jul 9, 2025
06bdaa5
Merge branch 'main' into fumadocs
matthewlipski Jul 10, 2025
e750e81
Fixed some themed images in docs
matthewlipski Jul 10, 2025
c8e6513
Fixed fumadocs build
matthewlipski Jul 10, 2025
1fef181
Updated pnpm lock
matthewlipski Jul 10, 2025
ff2be4f
chore: approve-build
nperez0111 Jul 10, 2025
16f654c
docs: add email docs
nperez0111 Jul 10, 2025
9ed7a3f
feat: move fumadocs over the docs
nperez0111 Jul 10, 2025
7cd60c3
chore: approve build
nperez0111 Jul 10, 2025
05f9534
chore: lockfile
nperez0111 Jul 10, 2025
ce18d23
chore: force pnpm store to be set
nperez0111 Jul 10, 2025
0be1e22
build: fix dev script
nperez0111 Jul 10, 2025
f952830
chore: recreate dir
nperez0111 Jul 10, 2025
d5dd507
build: use turbopack
nperez0111 Jul 10, 2025
03b0f11
chore: update link
nperez0111 Jul 10, 2025
6b672a8
Fixed build & examples root
matthewlipski Jul 10, 2025
60066f2
fix: do not delete examples files, show react email
nperez0111 Jul 11, 2025
28b5cd1
fix: include tailwind base
nperez0111 Jul 11, 2025
a302644
docs: update all links to point to the right spots
nperez0111 Jul 11, 2025
3fed1d4
Implemented PR feedback
matthewlipski Jul 15, 2025
56c4843
docs: update manipulating blocks page, hide low-level
nperez0111 Jul 15, 2025
ab71021
docs: ton of updates to docs content
nperez0111 Jul 15, 2025
1363506
Merge branch 'main' into fumadocs
matthewlipski Jul 15, 2025
1719aa8
Merge branch 'fumadocs' of github.com:TypeCellOS/BlockNote into fumadocs
matthewlipski Jul 15, 2025
07d440c
Small fix
matthewlipski Jul 15, 2025
dd886b8
docs: re-org editor reference
nperez0111 Jul 15, 2025
18bed26
Updated page meta + OG
matthewlipski Jul 15, 2025
0077b73
Merge branch 'fumadocs' of github.com:TypeCellOS/BlockNote into fumadocs
matthewlipski Jul 15, 2025
abfec49
Fixed example generation issue maybe
matthewlipski Jul 15, 2025
1e57874
Updated metadata
matthewlipski Jul 15, 2025
18bf274
Fixed examples not showing up
matthewlipski Jul 16, 2025
d5f9369
Fixed headers
matthewlipski Jul 16, 2025
1722c5b
Fixed example cards opening new tab
matthewlipski Jul 16, 2025
5e535f2
Merge branch 'main' into fumadocs
nperez0111 Jul 18, 2025
935d1be
chore: fix dir
nperez0111 Jul 18, 2025
e373763
refactor: clean up docs rename to editor.onBeforeChange
nperez0111 Jul 18, 2025
710ecd4
chore: fix links
nperez0111 Jul 22, 2025
82178f1
docs: rename title
nperez0111 Jul 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 0 additions & 19 deletions docs/app/portal/page.tsx

This file was deleted.

3 changes: 0 additions & 3 deletions docs/components/pages/thanks/index.tsx

This file was deleted.

6 changes: 6 additions & 0 deletions examples/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
extends: ["../.eslintrc.js"],
rules: {
"import/extensions": "off",
},
};
2 changes: 1 addition & 1 deletion examples/01-basic/01-minimal/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/02-block-objects/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/03-multi-column/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/04-default-blocks/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/05-removing-default-blocks/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/06-block-manipulation/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/07-selection-blocks/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/08-ariakit/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/09-shadcn/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/10-localization/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/11-custom-placeholder/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/12-multi-editor/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/13-custom-paste-handler/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/01-basic/testing/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/02-backend/01-file-uploading/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/02-backend/02-saving-loading/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/02-backend/03-s3/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/02-backend/04-rendering-static-documents/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/03-ui-components/01-ui-elements-remove/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {
useCreateBlockNote,
} from "@blocknote/react";

import { BlueButton } from "./BlueButton.js";
import { BlueButton } from "./BlueButton";

export default function App() {
// Creates a new editor instance.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
} from "@blocknote/react";

import { RiAlertFill } from "react-icons/ri";
import { Alert } from "./Alert.js";
import { Alert } from "./Alert";

// Our schema with block specs, which contain the configs and implementations for
// blocks that we want our editor to use.
Expand Down
2 changes: 1 addition & 1 deletion examples/03-ui-components/04-side-menu-buttons/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
useCreateBlockNote,
} from "@blocknote/react";

import { RemoveBlockButton } from "./RemoveBlockButton.js";
import { RemoveBlockButton } from "./RemoveBlockButton";

export default function App() {
// Creates a new editor instance.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
useCreateBlockNote,
} from "@blocknote/react";

import { ResetBlockTypeItem } from "./ResetBlockTypeItem.js";
import { ResetBlockTypeItem } from "./ResetBlockTypeItem";

// To avoid rendering issues, it's good practice to define your custom drag
// handle menu in a separate component, instead of inline within the `sideMenu`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
useCreateBlockNote,
} from "@blocknote/react";

import { Mention } from "./Mention.js";
import { Mention } from "./Mention";

// Our schema with inline content specs, which contain the configs and
// implementations for inline content that we want our editor to use.
Expand Down
2 changes: 1 addition & 1 deletion examples/03-ui-components/11-uppy-file-panel/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import {
useCreateBlockNote,
} from "@blocknote/react";

import { FileReplaceButton } from "./FileReplaceButton.js";
import { uploadFile, UppyFilePanel } from "./UppyFilePanel.js";
import { FileReplaceButton } from "./FileReplaceButton";
import { uploadFile, UppyFilePanel } from "./UppyFilePanel";

export default function App() {
// Creates a new editor instance.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { useEffect, useState } from "react";

import { RiImageEditFill } from "react-icons/ri";

import { UppyFilePanel } from "./UppyFilePanel.js";
import { UppyFilePanel } from "./UppyFilePanel";

// Copied with minor changes from:
// https://github.com/TypeCellOS/BlockNote/blob/main/packages/react/src/components/FormattingToolbar/DefaultButtons/FileReplaceButton.tsx
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
2 changes: 1 addition & 1 deletion examples/03-ui-components/13-custom-ui/main.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App.jsx";
import App from "./src/App.jsx";

const root = createRoot(document.getElementById("root")!);
root.render(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ import "@blocknote/react/style.css";
import { createTheme, ThemeProvider, useMediaQuery } from "@mui/material";
import { useMemo } from "react";

import { schema } from "./schema.js";
import { CustomMUIFormattingToolbar } from "./MUIFormattingToolbar.js";
import { CustomMUISideMenu } from "./MUISideMenu.js";
import { MUISuggestionMenu } from "./MUISuggestionMenu.js";
import { schema } from "./schema";
import { CustomMUIFormattingToolbar } from "./MUIFormattingToolbar";
import { CustomMUISideMenu } from "./MUISideMenu";
import { MUISuggestionMenu } from "./MUISuggestionMenu";

import "./style.css";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import {
ReactNode,
} from "react";

import { TextBlockSchema } from "./schema.js";
import { TextBlockSchema } from "./schema";

// This replaces the generic Mantine `ToolbarSelect` component with a simplified
// MUI version:
Expand Down
Loading