Who is using ProseMirror?

We are thinking about transitioning to ProseMirror…at first we are putting a toe in and looking around (we just had a great call with Marijn).

I was wondering if anyone here would like to share what they are doing with ProseMirror and a link to their project? It would help us get a sense of what the community is doing and how big it is etc as this is a little hard to tell. We suspect there are a lot of people doing interesting things with it, but its hard to know from the website and forum alone…

Anyone wish to say something here about there project, perhaps with a link? May also be a useful resource for others thinking of joining…

4 Likes

I’m building a qualitative analysis product called Dovetail that uses ProseMirror as its core editor. Dovetail lets you organise user feedback or research interviews by letting you code the content (tagging fragments of text). e.g.

I recently added automatic sentiment analysis backed by Google Cloud Natural Language.

All of this is done in a real-time collaborative editing environment using ProseMirror’s collab protocol (with our own server implementation). There’s a lot more information about the product on the web site, so check that out if it sounds interesting.

10 Likes

Nice website Bradley. Product looks really cool!

1 Like

Forestry.io is using Prosemirror for our Markdown editor for static sites

You can read more about it here!

1 Like

We are using it at https://www.dabblewriter.com/ for our novel writing software. And I know we’re not the only one in our space doing the same.

1 Like

We are using it at https://www.edition-unik.ch/

Edition Unik is a project targeted primarily at elder people who want to write a book with personal texts. We define a restricted document schema for ProseMirror, which really helps with the translation of the resulting document to LaTeX and to PDF for a result that can be directly sent to a print shop upon completion.

1 Like

We’re using it at https://www.nuclino.com to build an easy knowledge base for teams.

1 Like

your product looks really good. I’m working on something with annotations also. can you share how you were able to show your annotations in the margin aligned with the highlighted text? looks really nice!

Hi @adam,

SciFlow is a publishing platform for scholarly writing. We use ProseMirror as the basis for our collaborative editor. You can try it for free at www.sciflow.net - let me know if you have any questions.

Best regards Frederik

1 Like

Tropy is a free and open source app for working with photos / archival sources. We’re happily using ProseMirror for Tropy’s note pad using both horizontal and vertical (right to left) input.

1 Like

We run Missive, a collaborative email client allowing teams to chat within email threads and collaboratively compose / review email drafts in real time.

In our first version, we used Firepad because it provided collaborative editing somewhat effortlessly. You can imagine how people have very strict requirements regarding email and old habits anchored in other apps (Gmail, Outlook, to name a few). Here’s the one thing we hadn’t thought of that made Firepad a deal breaker: spell checking. Firepad’s rendering does not use contenteditable, which makes browser-native spell checking impossible to provide. Big bummer for many people.

We started searching for a contenteditable-based tool that supported collaborative editing. At the time, ProseMirror was the only candidate left after discarding Quill due to its overly simplistic document model (no nested lists nor multi-line quotes) and I believe this still holds true today. ProseMirror has actually come a long way to allow proper spell checking. Marijn very kindly responded to feedback on this topic and ended up rewriting significant parts of ProseMirror to support it. I am extremely thankful for his dedication.

To build our collaborative editing backend, we started from the ProseMirror website example (see code here) and adapted it because we obviously need to store data in a database, not just in memory. See this great article on the design of ProseMirror’s collaborative module if you are interested.

5 Likes

Basically just use the http://prosemirror.net/docs/ref/#view.EditorView.coordsAtPos API to calculate the top-offset of each annotation, then separately render a sidebar with with position: absolute items running down the page.

2 Likes

Thanks! will give that a try…

We use it in Pilot, a B2B app allowing our customers to built collaboratively massive amount of content for marketing campaigns, corporate communication, websites, social media etc …

We chose Prosemirror above all others solutions because of its author we trusted to deliver the right tool for this job due to his experience with CodeMirror.

We were not disappointed.

The work at Atlassian also looks pretty good -https://atlaskit.atlassian.com/packages/editor/editor-core

Anyone able to say something about this work?

Ah you found our code :wink: I can probably jump in here :slight_smile:

For background for those who might not know, Atlassian aims to build tools that ‘unleash the potential in every team’. We build a number of well-known products that you might have used under our umbrella including: Jira, Confluence, Bitbucket, Stride (our re-built from the ground-up chat offering to replace Hipchat).

We’re using ProseMirror fairly heavily with the eventual aim of using it to provide a consistent & enjoyable editing experience across most/all our products.

Stride’s Message Editor

Example of a Full-Page Editor

3 Likes

Apparently the NYTimes is also using ProseMirror:

1 Like

@5id: The list editing plugin and its related utils looks much better than the official one, and I hope I could really use it for my own project. I noticed that the source codes are bundle with the old version of PM. I wonder if there is a plan to release the “future” version of the list editing utilities?

Thanks.

the tooltip example should help you get started too http://prosemirror.net/examples/tooltip/

We use it at markdowner , an internet technology blog site. Markdown document non-blocking input,