Skip to content

Commit 61e844c

Browse files
authored
Merge branch 'main' into colors-in-emails
2 parents 8176fc8 + 2b10169 commit 61e844c

File tree

122 files changed

+7258
-1421
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+7258
-1421
lines changed

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
## 0.35.0 (2025-07-25)
2+
3+
### 🚀 Features
4+
5+
- use fumadocs for website ([#1654](https://github.com/TypeCellOS/BlockNote/pull/1654))
6+
- llms.mdx routes ([cea93840e](https://github.com/TypeCellOS/BlockNote/commit/cea93840e))
7+
8+
### 🩹 Fixes
9+
10+
- insert file upload before block if it is closer to the top of the block ([#1857](https://github.com/TypeCellOS/BlockNote/pull/1857))
11+
- rename albert model ([3b0ba8d25](https://github.com/TypeCellOS/BlockNote/commit/3b0ba8d25))
12+
- resolve some minor drag & drop regressions ([#1862](https://github.com/TypeCellOS/BlockNote/pull/1862))
13+
- blockquote HTML parsing #1762 ([#1877](https://github.com/TypeCellOS/BlockNote/pull/1877), [#1762](https://github.com/TypeCellOS/BlockNote/issues/1762))
14+
15+
### ❤️ Thank You
16+
17+
- Brad Greenlee
18+
- Nick Perez
19+
- Nick the Sick
20+
- yousefed
21+
122
## 0.34.0 (2025-07-17)
223

324
### 🚀 Features

LICENSE.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
BlockNote is 100% Open Source Software.
2+
3+
Source code in this repository is covered by the "Mozilla Public License Version 2.0" (MPL-2.0) license, except for the XL packages. The MPL-2.0 license allows you to use BlockNote in commercial (and closed-source) applications. If you make changes to the BlockNote source files, you're expected to publish these changes so the wider community can benefit as well.
4+
5+
The XL packages (source code in the `packages/xl-*` directories and published in NPM as `@blocknote/xl-*`) are licensed under the "GNU General Public License Version 3" (GPL-3.0). Additionally, a commercial license is available. See our website (https://www.blocknotejs.org/pricing) for more information and the commercial license terms.

README.md

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,12 @@ Welcome to BlockNote! The open source Block-Based
99
React rich text editor. Easily add a modern text editing experience to your app.
1010
</p>
1111

12-
<p align="center">
13-
<a href="https://discord.gg/Qc2QTTH5dF"><img alt="Discord" src="https://img.shields.io/badge/Chat on discord%20-%237289DA.svg?&style=for-the-badge&logo=discord&logoColor=white"/></a>
14-
</p>
15-
1612
<p align="center">
1713
<a href="https://www.blocknotejs.org">
1814
Homepage
19-
</a> - <a href="https://www.blocknotejs.org/docs/introduction">
15+
</a> - <a href="https://www.blocknotejs.org/docs">
2016
Documentation
21-
</a> - <a href="https://www.blocknotejs.org/docs/quickstart">
17+
</a> - <a href="https://www.blocknotejs.org/docs/getting-started">
2218
Quickstart
2319
</a>- <a href="https://www.blocknotejs.org/examples">
2420
Examples
@@ -48,8 +44,6 @@ function App() {
4844

4945
`@blocknote/react` comes with a fully styled UI that makes it an instant, polished editor ready to use in your app.
5046

51-
If you prefer to create your own UI components (menus), or don't want to use React, you can use `@blocknote/core` (_advanced_, [see docs](https://www.blocknotejs.org/docs/vanilla-js)).
52-
5347
# Features
5448

5549
BlockNote comes with a number of features and components to make it easy to embed a high-quality block-based editor in your app:
@@ -84,31 +78,19 @@ BlockNote comes with a number of features and components to make it easy to embe
8478

8579
# Feedback 🙋‍♂️🙋‍♀️
8680

87-
We'd love to hear your thoughts and see your experiments, so [come and say hi on Discord](https://discord.gg/Qc2QTTH5dF) or [Matrix](https://matrix.to/#/#typecell-space:matrix.org).
81+
We'd love to hear your thoughts and see your experiments, so [come and say hi on Discord](https://discord.gg/Qc2QTTH5dF).
8882

8983
# Contributing 🙌
9084

91-
See [CONTRIBUTING.md](CONTRIBUTING.md) for more info and guidance on how to run the project (TLDR: just use `npm start`).
92-
93-
Directory structure:
94-
95-
```
96-
blocknote
97-
├── packages/core - The core of the editor
98-
├── packages/react - The main library for use in React apps
99-
├── packages/mantine - Mantine (default) implementation of BlockNote UI
100-
├── packages/ariakit - AriaKit implementation of BlockNote UI
101-
├── packages/shadcn - ShadCN / Tailwind / Radix implementation of BlockNote UI
102-
├── examples - Example apps
103-
├── playground - App to browse the example apps (https://playground.blocknotejs.org)
104-
└── tests - Playwright end to end tests
105-
```
85+
See [CONTRIBUTING.md](CONTRIBUTING.md) for more info and guidance on how to run the project (TLDR: just use `pnpm start`).
10686

10787
The codebase is automatically tested using Vitest and Playwright.
10888

10989
# License 📃
11090

111-
BlockNote is licensed under the [MPL 2.0 license](https://fossa.com/blog/open-source-software-licenses-101-mozilla-public-license-2-0/), which allows you to use BlockNote in commercial (and closed-source) applications. If you make changes to the BlockNote source files, you're expected to publish these changes so the wider community can benefit as well.
91+
BlockNote is 100% Open Source Software. The majority of BlockNote is licensed under the [MPL-2.0 license](LICENSE-MPL.txt), which allows you to use BlockNote in commercial (and closed-source) applications. If you make changes to the BlockNote source files, you're expected to publish these changes so the wider community can benefit as well. [Learn more](https://fossa.com/blog/open-source-software-licenses-101-mozilla-public-license-2-0/).
92+
93+
The XL packages (source code in the `packages/xl-*` directories and published in NPM as `@blocknote/xl-*`) are licensed under the GPL-3.0. If you cannot comply with this license and want to use the XL libraries, you'll need a commercial license. Refer to [our website](https://www.blocknotejs.org/pricing) for more information.
11294

11395
# Credits ❤️
11496

docs/app/(home)/faq/FAQ.tsx

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const faqs = [
1212
{
1313
id: 2,
1414
question: "Is BlockNote ready for production use?",
15-
answer: `BlockNote is used by several companies in production. Also, we didn't reinvent the wheel. The core editor is built on top of Prosemirror - a battle tested framework that powers software from Atlassian, Gitlab, the New York Times, and many others.`,
15+
answer: `BlockNote is used by dozens of companies in production, ranging from startups to large enterprises and public institutions. Also, we didn't reinvent the wheel. The core editor is built on top of Prosemirror - a battle tested framework that powers software from Atlassian, Gitlab, the New York Times, and many others.`,
1616
},
1717
{
1818
id: 3,
@@ -23,8 +23,14 @@ const faqs = [
2323
{
2424
id: 4,
2525
question: "Is BlockNote really free?",
26-
answer: `100% of BlockNote is open source. While the library is free, we offer paid consultancy and support services to help sustain BlockNote.
27-
If you are using BlockNote in a commercial project, we encourage to sign up for BlockNote Pro!`,
26+
answer: (
27+
<>
28+
100% of BlockNote is open source. We offer consultancy, support services
29+
and commercial licenses for specific XL packages to help sustain
30+
BlockNote. Explore our <a href="/pricing">pricing page</a> for more
31+
details.
32+
</>
33+
),
2834
},
2935
];
3036

@@ -53,7 +59,7 @@ export function FAQ() {
5359
<dt className="text-base font-semibold leading-7 text-gray-900 dark:text-white">
5460
{faq.question}
5561
</dt>
56-
<dd className="mt-2 text-base leading-7 text-gray-600 dark:text-gray-300">
62+
<dd className="prose mt-2 text-base leading-7 text-gray-600 dark:text-gray-300">
5763
{faq.answer}
5864
</dd>
5965
</div>

docs/app/(home)/letter/Letter.tsx

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import cn from "classnames";
21
import CTAButton from "@/components/CTAButton";
3-
import { Section } from "@/components/Section";
42
import { FadeIn } from "@/components/FadeIn";
53
import { HeroText } from "@/components/Headings";
4+
import { Section } from "@/components/Section";
65
import gradients from "@/components/gradients.module.css";
6+
import cn from "classnames";
77

88
export function Letter() {
99
return (
@@ -18,33 +18,33 @@ export function Letter() {
1818
</FadeIn>
1919
<FadeIn className="flex flex-col gap-3 leading-6 md:text-lg">
2020
<p>
21-
When we started building an Open Source Notion alternative, we
22-
figured: &quot;How hard can it be?&quot;. Pretty hard, it turns out.
23-
Text editors in 2024? More complex than we thought.
21+
Building a modern, collaborative text editor is a complex
22+
engineering challenge that used to take months of work, deep
23+
technical expertise and a lot of patience - only within reach of the
24+
largest companies.
2425
</p>
25-
<br />
2626
<p>
27-
After going down many rabbit holes and becoming accidental wizards
28-
in Prosemirror (the industry standard used by giants like NY Times,
29-
Atlassian, Gitlab and many others), we figured that we could save
30-
other devs a lot of pain by creating a modern, batteries-included,
31-
block-based text editor on top of it.
27+
Leveraging our expertise, we set out to save developers months of
28+
engineering work by creating a modern, batteries-included
29+
block-based text editor built on top of industry standards like
30+
Prosemirror and Yjs (used by giants like NY Times, Atlassian,
31+
Wordpress, Gitlab and many others).
3232
</p>
33-
<br />
33+
<p>Enter BlockNote.</p>
3434
<p>
35-
We&apos;re excited to share BlockNote with you. No more dealing with
36-
low-level positions; use the strongly typed, block-based API to work
37-
with your editor and documents. No need to build all interface
38-
elements from scratch; it comes with modern UI components
39-
out-of-the-box. Now, you can add a rich text editor with a polished
40-
UX to your app with just a few lines of code.
35+
BlockNote eliminates the need to deal with low-level details around
36+
text positions and document structure. Instead, work with the
37+
strongly typed, block-based API to work with your editor and
38+
documents. You also get a full set of modern UI components
39+
out-of-the-box: no need to build all interface elements from
40+
scratch. With just a few lines of code, you can integrate a
41+
polished, collaborative text editor into your app.
4142
</p>
42-
<br />
4343
<p>
44-
It&apos;s early days, but the excitement is real. We&apos;re seeing
45-
a mix of companies, enthusiasts, and community heroes jumping in. As
46-
a community-led open source project, we&apos;re looking forward to
47-
your contributions, feedback, or collaboration!
44+
Supported by an active and growing community of companies and
45+
developers, we invite you to contribute, provide feedback, and
46+
partner with us to shape the future of rich text editing and
47+
collaborative software!
4848
</p>
4949
</FadeIn>
5050
<FadeIn className="relative h-px w-full" noVertical viewTriggerOffset>

docs/app/docs/layout.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { ReactNode } from "react";
2+
import { Analytics } from "@vercel/analytics/react";
23
import { baseOptions } from "@/app/layout.config";
34
import { CustomDocsLayout } from "@/components/CustomDocsLayout";
45
import { Footer } from "@/components/Footer";
@@ -11,6 +12,7 @@ export default function Layout({ children }: { children: ReactNode }) {
1112
{children}
1213
</CustomDocsLayout>
1314
<Footer />
15+
<Analytics />
1416
</>
1517
);
1618
}

docs/app/examples/layout.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { ReactNode } from "react";
2+
import { Analytics } from "@vercel/analytics/react";
23
import { baseOptions } from "@/app/layout.config";
34
import { CustomDocsLayout } from "@/components/CustomDocsLayout";
45
import { Footer } from "@/components/Footer";
@@ -36,6 +37,7 @@ export default function Layout({ children }: { children: ReactNode }) {
3637
{children}
3738
</CustomDocsLayout>
3839
<Footer />
40+
<Analytics />
3941
</>
4042
);
4143
}

docs/app/layout.config.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,15 @@ export const baseOptions: Partial<DocsLayoutProps & HomeLayoutProps> = {
9696
tabs: [
9797
{
9898
icon: (
99-
<FaBook className="border-fd-primary text-fd-primary bg-fd-primary/10 h-5 w-5 rounded-sm border p-0.5" />
99+
<FaBook className="border-fd-primary text-fd-primary bg-fd-primary/10 h-full w-full rounded-sm border p-2 md:p-0.5" />
100100
),
101101
title: "Documentation",
102102
description: "Learn how to use BlockNote",
103103
url: "/docs",
104104
},
105105
{
106106
icon: (
107-
<FaCode className="border-fd-primary text-fd-primary bg-fd-primary/10 h-5 w-5 rounded-sm border p-0.5" />
107+
<FaCode className="border-fd-primary text-fd-primary bg-fd-primary/10 h-full w-full rounded-sm border p-2 md:p-0.5" />
108108
),
109109
title: "Examples",
110110
description: "See BlockNote in action",

docs/app/layout.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Banner } from "fumadocs-ui/components/banner";
22
import { RootProvider } from "fumadocs-ui/provider";
3+
import { Analytics } from "@vercel/analytics/react";
34
import { Metadata } from "next";
45
import type { ReactNode } from "react";
56

@@ -29,6 +30,7 @@ export default function Layout({ children }: { children: ReactNode }) {
2930
</a>
3031
</Banner>
3132
<RootProvider>{children as any}</RootProvider>
33+
<Analytics />
3234
</body>
3335
</html>
3436
);

0 commit comments

Comments
 (0)