The following page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features or functionality remain at the sole discretion of GitLab Inc.
Stage | plan |
Content Last Reviewed | 2025-07-14 |
Thanks for visiting the Text Editors and Markdown categories direction page. Text Editors category contains the rich text editor (RTE) and the plain text editor (PTE). The RTE is a what-you-see-is-what-you-get (WYSIWYG) editor for Markdown content maintained by Knowledge group. The RTE is a cornerstone of Knowledge group's contribution to helping GitLab become a complete DevSecOps platform. Much of this direction page will focus on the RTE and its development. More information about Knowledge group priorities and direction can be found on the Knowledge group direction page, and additional questions can be directed to Matthew Macfarlane, Product Manager in the Plan Stage for Knowledge group (E-Mail).
Everyone!
For many, writing in Markdown is a barrier to collaboration. We recognize that as GitLab grows, so does the need for a more usable editing experience. Traditionally, we have served developers, but over time, we have begun serving more non-technical users. Remembering the syntax for image references or working with long tables can be tedious, even for those who are relatively experienced with the syntax. Still, Markdown as a common denominator for content enables efficient collaboration in a version-controlled environment. The RTE aims to break down these barriers by providing a WYSIWYG experience and an extensible foundation on which we can build custom editing interfaces for things like diagrams, content embeds, media management, and more.
There are many contributors to GitLab for whom writing Markdown is like writing a second language. We don't want to take that super power away from anyone. That's why writing in the RTE will support standard Markdown shortcuts. For example, typing ##
followed by your content will create a rendered Header 2 and let you continue working without removing your fingers from the keyboard.
We started by implementing the RTE in the GitLab Wiki, MRs, Issues, and Epics in our 16.2 release. Since then we have added it to most other areas within the product. We are still working on adding the rich text editor across the rest of GitLab. Recently we added the RTE to snippets, design notes, comment templates, release descriptions, and requirement descriptions.
Additionally, there has been discussion on adding the RTE to the Web Editor and Web IDE to make it easier for everyone to contribute to Markdown content in a repository. However, this Issue requires more customer validation for us to tackle given its complexity. If you are interested in this capability please comment on the linked Issue!
GitLab's RTE sets itself apart with how it preserves Markdown formatting. While other editors use intermediate file formats or require saving changes to a database GitLab's RTE reads and writes valid Markdown, allowing collaboration from any editor and preserving the Markdown source.
At a really high level the RTE:
We have written comprehensive development guidelines that explain what's going on under the hood and can help get you up to speed if you're interested in contributing an extension to the RTE.
Our current focus is on expanding the use of the RTE to edit Markdown across GitLab, and preserve markdown using the Rust backend based parser. We always welcome new ideas and contributions to both the Rich Text and Plain Text Editors!