doc/development/gitlab_flavored_markdown/_index.md
This and neighboring pages contain developer guidelines for GitLab Flavored Markdown (GLFM). For the user documentation about Markdown in GitLab, refer to GitLab Flavored Markdown.
GitLab supports Markdown in various places, such as issue or merge request descriptions, comments, and wikis. The Markdown implementation we use is called GitLab Flavored Markdown (GLFM).
CommonMark is the core of GLFM.
...a standard, unambiguous syntax specification for Markdown, along with a suite of comprehensive tests to validate Markdown implementations against this specification.
Extensions from GitHub Flavored Markdown (GFM), such as tables and task lists, are supported. Various extensions, such as math and multiline blockquotes are then added, creating GLFM.
[!note] In many places in the code, we use
gfmorGFM. In those cases, we're usually referring to the Markdown in general, not specifically GLFM.
To create the HTML displayed to the user, the Markdown is usually processed as follows:
gitlab-glfm-markdown gem, which uses comrak.tiptap to be displayed and edited.We aim for GLFM to always be 100% compliant with CommonMark. Great pains are taken not to add new syntax unless truly necessary. And in such cases research should be done to find the most acceptable "Markdown" syntax, closely adhering to a common implementation if available. The CommonMark forum is a good place to research discussions on different topics.
Contact the Plan:Knowledge team if you have any questions.