While I do agree with the author's overall point, I think that he inadvertently stumbles on the probable reason here:
> If I want to see the original Markdown syntax, I should be able to switch to that view just as easily.
This doesn't really map well to existing document opening conventions, so the author's hypothetical built-in Markdown viewer/editor doesn't really fit into any existing system app. For example, if Apple modified TextEdit.app to open Markdown files in the same way it handles RTF documents, it would cover the formatted display case, but not editing the source. They would have to add some third mode (or build an entirely separate app) to handle switching between Markdown source and formatted views, deal with displaying malformed syntax, etc. Not to mention handling the various differences between Markdown flavors.
It can just be a toggle button, just like 'show formatting' in lots of rich text editors. And remember the state of the last interacted window when opening a new file.
Then some sane styling defaults, which you can change globally, on a per folder and on a per document basis. Perhaps the option to include some stationary backgrounds for PDF rendering, and I think you have touched upon 95% of the document editing needs.
TextEdit has become a neglected buggy mess. Apple needs to fix that before they even think of adding proper markdown support.
TextEdit already lets you switch between rich and plaintext mode, so there's a precedent. Maybe a "view without formatting" toggle in the format menu that's only enabled or visible for markdown files. The ability to open markdown documents in source view by default could be a checkbox in the Open and Save tab of the TextEdit settings window.
Obsidian has a quick shortcut to switch between view mode and edit mode, end their edit mode is actually partially formatted (# headers are displayed in a bigger font)
> Not to mention handling the various differences between Markdown flavors
Funnily enough, I was looking for Python markdown to HTML rendering library, and the author of one of the biggest two closed a bug on me reporting a minor incompatibility saying "that is GitHub format, we don't support it, we only support CommonMark, GitHub format is non-standard and broken".
TotalCmd's Lister can handle it. By default you just get text and hex viewer, but you can install plugins (like for markdown) and then it renders rich text by default but you can switch to plain text (or hex) by pressing 1 or 3. One day I'll move away from Windows and I'll have to find a replacement :(