It’s one thing for an app to create scope creep for markdown that those users can leverage. It’s another thing for the standard to create the scope creep, which is then pushed onto all the apps that may use it.
At some point, markdown loses its human readability when too many features are added. So if it gets too complicated, someone will inevitably create a new more simple standard… or push something like “markdown classic”.
John Gruber, who created markdown, doesn’t even use it for all the stuff most others do today.
https://daringfireball.net/linked/2025/06/04/apple-notes-mar...
I have made a few extensions to make my life easier:
- Constants like {{ current_year}} to set things in one place and repeat them in multiple places
- Custom elements like {% tableOfContents %}. I just use Jinja inside markdown.
That has served me well for 5 years or so.
From there, I could imagine thin protocol layers emerging above — renderers, voice interfaces, AI agents each binding their own behavior to the same IDs. Markdown stays plain text. Complexity through composition, not bloat.