You say Markdown has a common set of features, but what is that common set? There's no standard, and I find myself surprisingly frequently struggle with figuring out what's the correct way in a particular markdown engine to do what I need to do.
An example is that in Reddit's markdown; this text:
```
if (true) {
console.log("hi");
}
```
will all end up as inline code, with all the newlines and extra whitespace stripped out. The correct way to do it in Reddit's markdown is to hit the space bar (n+1)*4 times before each line, where n is the indentation level. Some (but presumably not all) other markdown engines would render it as a code block.Markdown engines are also wildly inconsistent about when they treat something as a link, and whether they require a blank line between a paragraph and code blocks or lists.
They seem to mostly agree about how explicit links and bold and emphasis and headings work though, so if that's your consistent common set of features, I suppose you're right.
Org-mode on the other hand is basically an emacs thing that has never been seen in the wild outside maybe as a pandoc input? Which is coincidentally another tool I almost never actually use by itself. And I have literally no idea how ota reference implementation works or on which languages could I embed it and how.
I'm pretty sure my experience isn't that rare too.
There are a couple of vim plugins. I don't know whether they're any good.
https://www.reddit.com/r/vim/comments/4ms4z0/org_mode_which_...
Commonmark didn't really accomplish much in terms of standardization. The problem is that they didn't take seriously comments that they didn't support everything they needed to support in order for it to be a standard. The most prominent example is support for math, which is extremely common. That wouldn't be so bad if there were support to escape processing, but they weren't willing to support that either.
The response is to tell anyone that they need to look for an implementation with the proper extensions for equations or whatever you might need that's not currently supported. There's not much to be gained from having a standard if it doesn't ensure document compatibility among competing implementations. Commonmark is nothing but yet another version of markdown.
There is CommonMark specification: https://commonmark.org.
This argument is valid, but…
> An example is that in Reddit's markdown; this text: [snipped] will all end up as inline code, with all the newlines and extra whitespace stripped out.
This does not validate the argument. Implementations defer to John Gruber’s Markdown Syntax Documentation.[1] It is insufficient to be used as a standard (hence your argument being valid), but does (in some cases) provide a common subset of features compatible everywhere. The “fenced” code block is not included in Gruber’s original Markdown, but became so popular due to GitHub that people come to expect it. It is still not part of “Standard Markdown” though.
* GFM = Github Flavoured Markdown, even if Gitlab have very cheekily taken on the same initialism for their (in fairness, highly compatible) flavour.
some markdown text
<div>
some
**inline**
text
</div>
some more markdown text
some will take that as one block. some will process each line separately. some will convert the asterisks
...> On redesign, a slightly-edited version of CommonMark. On old reddit, it's still snudown.
(and mobile apps have their own markdown)
> New Reddit note: Indented code blocks are the only form of code block that works on Old Reddit. Use them for compatibility
https://www.reddit.com/wiki/markdown#wiki_code_blocks_and_in...
maybe in a few years there is going to be syntax highlighting, one can hope :) (slack doesn't have it either, but even discord has it...)
HTML and JS have succeeded in spite of their clunkiness, not because of it.
Markdown on the other hand has no such lock-in, mainly because it usually gets transpiled into HTML or other formats. Replacing it is a lot easier and can be done incrementally without client support.
The 'number of implementations' issue with org-mode is that there are almost no implementations outside of Emacs. Standardization by obscurity is not a very compelling virtue, and the opportunity for widespread adoption has passed.
- original org: https://demo.filestash.app/api/export/hnorg/text/org/emacs.o...
- markdown: https://demo.filestash.app/api/export/hnorg/text/markdown/em...
- html: https://demo.filestash.app/api/export/hnorg/text/html/emacs....
- pdf: https://demo.filestash.app/api/export/hnorg/application/pdf/...
- more fancy plain text: https://demo.filestash.app/api/export/hnorg/text/plain/emacs...
there's more builtin and with plugin you can say extend the github markdown to cope with jekyll, hugo, ...etc
For many years (even now), we have several competing implementations of HTML, yet the HTML document is the dominant presentational document format (and UI layout language). It hasn't done anything to hurt adoption.
The fact that Markdown does have a common subset of features, and that Markdown is widely interoperable with a vast amount of products is why it wins. As far as I can tell Org-Mode markup is used within Emacs and really nowhere else.