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 | 2024-10-15 |
Thanks for visiting the Text Editors and Markdown 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 an AllOps platform. Much of this direction page will focus on the RTE and its development. More information about Knowledge grouo 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 rich editing 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. The last places we added the RTE to are design notes, comments templates, release descriptions, and requirement descriptions.
We plan to make the RTE available in the Web Editor and Web IDE to make it easier for everyone to contribute to Markdown content in a repository. Seamless integration of the RTE in the web editing experience will realize nearly all the benefits of the Static Site Editor but we are no longer limiting it to Middleman-based projects configured to use the Static Site Editor.
One aspect that sets GitLab's RTE apart is how it preserves the Markdown format. While other editors use intermediate file formats or require saving changes to a database GitLab's text editor 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, preserve markdown using the Rust backend based parser, and enabling a default on editors option. We're looking forward to releasing these improvements!
Our current focus with the PTE and Markdown is to migrate EmojiFilter to use native support which will help to boost performance and security.