A gentle introduction to the ProseMirror plugin system with examples, tricks & tips.
Manage your NPM package chaos with a monorepo using pnpm and git submodules.
Step by step introduction, best practices and gotchas for building real time Postgraphile backend with custom subscriptions.
Implement a slash menu for ProseMirror in your app in 5 minutes.
A quick tutorial on how to use Hocuspocus with Supabase to build a quick collaborative editor backend.
An open source link preview plugin for prosemirror made by Emergence-Engineering.
A guide with code samples for building a strict schema validator for your mustache templates.
A guide with code samples and a GitHub repository for building a production ready architecture with the following three services: Postgres, Postgraphile and Next.js
Summarising our experiences of using PostGraphile in production for more than a year in light of the recent investigation on whether we want to switch to Hasura
Release ProseMirror codeblock plugin that uses the brand-new CodeMirror 6, a major improvement over CodeMirror 5.
Sponsored by Skiff - a private, end-to-end encrypted, and decentralized workspace.
If you want to have a decorations around different strings in your ProseMirror document then this is your plugin! You can make the found words to behave as links ( for example ), and add new items to your string list on the fly
Most production editors need functionality to drop or paste images, have editable titles, and these images have to be uploaded & stored on a server. Managing this from the ground up takes a lot of time, so I wrote a plugin for ProseMirror which makes this very easy, and is flexible enough to handle a lot of use cases.
With the collaborative editing functionality in ProseMirror it's possible to create documents that are editable by multiple users at the same time. Although the [ prosemirror-collab ] module is not very hard to use, a communication layer is necessary for the clients to receive new steps to update their local document, keeping them in sync. This is usually done with WebSockets, which adds another layer in the stack where bugs can hide. This article shows a path to get rid of that layer by using a well-tested layer in the form of a syncing database. In this article PouchDB/CouchDB is used, so the emulated "server" can also live in the browser, thus making the example simpler. This approach has also been tested with Firestore.
Even after years of professional development I see tricks every now and then which are straightforward conceptually, but easy to miss, and there's no place where I could read more about real usage, and not a 30 page long detailed article about every small detail of a given feature.