Flavored Markdown

Continuing the discussion from What changed in Standard Markdown?:

I’ve started work on this as http://flavoredmarkdown.com - pull requests / issues can be listed on GitHub at GitHub - flmd/flmd.github.io: The Flavored Markdown variant repository.

Right now, I’ve included:

  • 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.

2 Likes

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:

---
title: Foo
flavors:
  - GFM: https://docs.github.com/en/get-started/writing-on-github
  - R: https://rmarkdown.rstudio.com/
---
The markdown body.

What do you think about this idea?

By the way, http://flavoredmarkdown.com doesn’t work :frowning:

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).

Okay, posted a proposal here Proposal: Standardize listing of Markdown Flavors used in the MD document: GLFM, GFM, QMD, etc · Issue #830 · commonmark/commonmark-spec · GitHub :wink: