Getting ProseMirror state on the server

Using @liveblocks/node-prosemirror, it’s possible to retrieve the state of your ProseMirror document on the server.

Getting document state

To get your document state, you can use withProsemirrorDocument and api.getText.

Modifying document state

To modify document state with transactions, use api.update. On the ProseMirror website you can find a full list of transforms and transactions functions.

Using Yjs APIs instead

We don’t generally recommend it, but it’s also possible to use @liveblocks/node to retrieve the state of your ProseMirror document, and its Y.Doc, on the server. This may give you more control in some cases.

Using Liveblocks.getYjsDocumentAsBinaryUpdate you can fetch your Yjs data, and place it inside a Y.Doc. We can then call yDocToProseMirror from y-prosemirror to retrieve the ProseMirror editor’s state.

If you’d like to edit your Y.Doc, make sure to read how to use your Y.Doc on the server.