Skip to content

Add Support for GitLab Flavored Markdown (GLFM) #1

@nurefexc

Description

@nurefexc

GitLab Flavored Markdown (GLFM)

GitLab Flavored Markdown is an extended Markdown syntax built on top of basic Markdown and CommonMark. Its purpose is to support developers and teams in the unique workflows of the GitLab platform, especially in project management and communication.

Key Features

Although many of its features are the same as GitHub Flavored Markdown (GFM), GLFM also includes additional platform-specific elements:

  • Special References:
    • User and Group Mentions: By using the @username and @groupname syntax, you can automatically mention GitLab users and groups, which sends them notifications.
    • Notebook References: You can easily reference issues (#123), merge requests (!123), snippets ($123), or commits (e.g., b4d4b1a4).
  • Emphasis and Formatting:
    • Todo lists: Similar to GFM, you can create interactive task lists (- [ ] and - [x]). When you click on the items in the list, GitLab automatically updates the issue or description.
    • Strikethrough: You can create strikethrough text with the ~~text~~ format.
  • Special Blocks and Content:
    • Diagrams: GLFM has built-in support for the Mermaid diagramming language. You can create complex diagrams (e.g., flowcharts, sequence diagrams, Gantt charts) from a simple text description. Example:

      ```mermaid
      graph TD
          A[Christmas] --> B(Gifts);
          B --> C{Wrapping};
      ```
      
    • Alert blocks: You can create highlighted boxes to display information, warnings, or tips, for example: > **NOTE:** ..., > **WARNING:** ..., or > **TIP:** ....

    • Embedded media: You can embed video and audio files directly in Markdown. GitLab automatically displays a player for the linked media files.

In summary, GLFM combines elements of basic Markdown, CommonMark, and GFM, and supplements them with GitLab's collaboration and project management features.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions