Create proper Markdown spec for our GFM (GitLab Flavored Markdown)
Our flavor of markdown, GitLab Flavored Markdown, is directly built on top of CommonMark and GitHub Flavored Markdown
As shown below, each of these has a rigorous spec, which doubles as it's way of testing compliance.
CommonMark
- specification source: https://github.com/commonmark/commonmark-spec/blob/master/spec.txt
- rendered specification: https://spec.commonmark.org/0.30/
- test: https://github.com/commonmark/commonmark-spec/blob/master/test/spec_tests.py
GitHub-flavored Markdown
- specification source: https://github.com/github/cmark-gfm/blob/master/test/spec.txt
- rendered specification: https://github.github.com/gfm/
- test: https://github.com/commonmark/commonmark-spec/blob/master/test/spec_tests.py
This issue aims to build a proper spec for the GitLab Flavored Markdown extensions.
It should be in the exact same format as the other two specs, so that anyone building a parser or implementation can verify that the spec is being followed, using the same tools used for the other two specs.
Only Proper Markdown Language Extensions
The spec should only include actual extensions to the markdown language. For example, multiline blockquotes or color chips. Or if we decided to implement definition lists or attribute lists.
References, diagrams and flowcharts, etc, would not be considered language extensions.
For example, if you take a look at the GFM spec, you'll see that they only consider 5 things to be a language extension: Tables, Task list items, Strikethrough, Autolinks, and Disallowed RAW HTML