The original loose Markdown specification (classified here as “gruber”, in the “K&R C”/“Thompson shell” tradition of naming loose original standards after their author)
Standard Markdown (currently called “standard”, although that might be moved if this gets contentious enough - it would be better if an organization like IETF, ECMA, or ANSI could back it- think ANSI C)
vfmd (another existing spec for Markdown)
GitHub Flavored Markdown (nominally based on Gruber, we’ll see if that changes)
Right now, I’m just hyperlinking to each standard: the competing standards (Gruber, stmd, vfmd) can each have a separate and unrelated document with the exact specifications from upstream.
The goal is to have the derivative “flavors” (such as GFM) explicitly state what standard they’re basing their standard on, and to list the changes they make, for other implementations to copy, and for other flavors to themselves base their variations on.
Right now, the flavors are sorted alphabetically: GitHub Flavored Markdown comes first, followed by Gruber, then Standard and vfmd. That’s not really intentional, and more a side-effect of how I’ve initially organized them in Jekyll. I might redo this later with a manual ordering, or something like that: if anybody wants to contribute some way of sorting the flavors according to a value in their frontmatter, I’ll probably merge it.
The idea to standardize the list of Markdown Flavors is great! But seems abandoned? Now we have a lot of Markdown Flavors, and no clue about which exact flavor is used in a concrete .md file. So, we need to make, at list, a standardized definition with the list of flavors, used in the document (they could be more than one, right?).
A good approach could be using a special key in the Front matter block, like this:
Sure, whatever, go for it, whatever makes sense: the rise of competent small language models makes any further kind of rigid legalism like this effectively obsolete (you just need to specify what you need for the dumb bits to figure out translations).