GitLab Flavored Markdown extensions for Content Editor
## Problem to solve The Content Editor is built on TipTap and ProseMirror, which support the standard CommonMark spec. However, in order to fully replace Markdown editing in the Wiki, we have to support all of the [GitLab Flavored Markdown spec](https://docs.gitlab.com/ee/user/markdown.html). ## Proposal Create extensions that allow for rendering and editing the entire GitLab Flavored Markdown spec ## Details [GitLab Flavored Markdown documentation](https://docs.gitlab.com/ee/user/markdown.html) Support for each content type is split into two considerations. First, the Content Editor must be able to understand and render existing content. Then, we need to allow for creating and editing that content within the editor. Current support for the extended GFM spec includes: | Content type | Rendered | Editable | |--------------|----------|----------| | Strikethrough | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63942 | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63942 | | Tables (inline content) | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63945 | \-- | | Tables (block content) | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66187 | :white_check_mark: | | Table column alignment | :white_check_mark: | :white_check_mark: | | Multi-line blockquotes | :white_check_mark: | :white_check_mark: | | File attachments (pdf, zip etc) | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67728 | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67728 | | Colored code blocks & syntax highlighting | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63090, https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67980 | :white_check_mark: | | Linkable Header IDs | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63664 | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62125 | | Embedded videos & audio | :white_check_mark: | :white_check_mark: | | Line break control using `\` | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60424 | \-- | | Auto link URLs | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63664 | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62125 | | Color chips | :white_check_mark: | :white_check_mark: | | Mermaid diagrams | :white_check_mark: | :white_check_mark: | | PlantUML diagrams | :white_check_mark: | :white_check_mark: | | Kroki diagrams | :x: | :x: | | Emoji | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67986 | :white_check_mark: | | Front matter | :white_check_mark: | :white_check_mark: | | Inline diff | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68231 | :white_check_mark: | | Math (KaTeX) | :white_check_mark: | :x: | | User/group mentions | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68230 | :white_check_mark: | | Project references (issues, epics, MRs, etc) | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68230 | :white_check_mark: | | Milestones | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68230 | :white_check_mark: | | Labels | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68230 | :white_check_mark: | | Task lists | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68121 | :white_check_mark: | | Table of contents | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68210 | :white_check_mark: | | Wiki-specific Markdown | :white_check_mark: | :white_check_mark: | | Footnotes | :white_check_mark: | :x: | | Collapsible content (detail/summary list) | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68224 | :white_check_mark: | | Definition lists (dl/dd/dt) | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68224 | :x: | | Superscript | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68106 | :white_check_mark: | | Subscript | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68106 | :white_check_mark: | | HTML elements supported by markdown | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68224 | :white_check_mark: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68224 | | HTML comments | :white_check_mark: gitlab-org/gitlab!104084 | | | Custom HTML attributes on markdown tags<br>(like `<p style="text-align:center">center</p>`) | :x: | :x: | Each one will be an individual implementation issue of this parent epic.
epic