One of our major projects this year has been working on developing a new rich text editing mode for the composer, which makes writing on Discourse more familiar and intuitive. The new composer has been available here on Meta and as an experimental setting for some time, but we’re at the point where we’re excited to drop the experimental
label and invite your community to try it out!
In this topic, we’ll share more about the composer, how it works, and how you can make it available in your community with just a couple clicks.
A new rich text editor for Discourse
The new rich text editor simplifies the writing experience for Discourse users, particularly those who are less tech-savvy or aren’t familiar or comfortable with writing in Markdown. The rich text editor supports Markdown, as well as other common keyboard shortcuts and toolbar formatting adjustments, but the formatting is rendered immediately for a WYSIWYG (“what you see is what you get”) experience similar to familiar tools like Google Docs and Notion.
The future of Markdown
We know that many Discourse users love the current Markdown composer and enjoys its predictable, straightforward writing experience. The new editor is a composer “mode” that sites alongside the existing Markdown mode, so and your members can choose the writing style that works best for you.
Most things you’ve been doing in the classic Markdown composer are now supported in the rich text editor, including:
-
All basic formatting, supported in Markdown (
**bold**
), using common keyboard shortcuts (Command + B), and via toolbar icons.
-
Support for advanced features like creating tables, creating polls, inserting date/time, adding hide details sections, adding blur spoiler sections, uploading file / image / video, rendering links as oneboxes, styling category / tag / user mentions, quoting content, and inserting footnotes.
-
Dedicated link UI to visit, edit, copy, title, or remove links
-
Dedicated image UI to resize, caption, or deleting images
However, there are some areas where we are still working, such as making it easier to edit tables and polls. We will continue to work toward feature parity between the composer modes, and encourage you to share Feature requests about which features and capabilities matter most to you to help us prioritize our work. In the meantime, you can always switch back to Markdown mode to take care of advanced needs.
How we built it
Our implementation builds upon the excellent ProseMirror and its non-core Markdown module, using the module’s schema, parsing, and serialization definitions as the base for further Discourse-specific features.
Turning on the new composer
To enable the new composer, go to the Admin area, click All Site Settings, and search for
Rich editor
. Check the setting to turn it on!
Then, when you open the composer, you’ll notice a toggle in the toolbar. This lets you switch between the classic Markdown-only mode and the new rich text editor.