You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+2
Original file line number
Diff line number
Diff line change
@@ -73,6 +73,8 @@ blocknote
73
73
└── tests - Playwright end to end tests
74
74
```
75
75
76
+
An introduction into the BlockNote Prosemirror schema can be found in [packages/core/ARCHITECTURE.md](https://github.com/YousefED/BlockNote/blob/main/packages/core/ARCHITECTURE.md).
77
+
76
78
## Running
77
79
78
80
To run the project, open the command line in the project's root directory and enter the following commands:
We use a Prosemirror document structure where every element is a `block` with 1 `content` element and one optional group of children (`blockgroup`).
4
+
5
+
- A `block` can only appear in a `blockgroup` (which is also the type of the root node)
6
+
- Every `block` element can have attributes (e.g.: is it a heading or a list item)
7
+
- Every `block` element can contain a `blockgroup` as second child. In this case the `blockgroup` is considered nested (indented in the UX)
8
+
9
+
This architecture is different from the "default" Prosemirror / Tiptap implementation which would use more semantic HTML node types (`p`, `li`, etc.). We have designed this block structure instead to more easily:
10
+
11
+
- support indentation of any node (without complex wrapping logic)
12
+
- supporting animations (nodes stay the same type, only attrs are changed)
0 commit comments