Somewhat related past discussion: https://news.ycombinator.com/item?id=41120254
Copying my thoughts from there which haven't changed:
>To which I say, are you really going to avoid using a good tool just because it makes you puke? Because looking at it makes your stomach churn? Because it offends every fiber of your being?"
Yes. A thousand times yes. Because the biggest advantage of Markdown is that it's easy to read, and its second-biggest advantage is that it's easy to write. How easy it is to parse doesn't matter. How easy it is to extend is largely irrelevant.
Markdown may or may not be the best tool for writing a book, but Markdown is the best tool for what it does - quickly writing formatted text in a way that is easy to read even for those who are not well versed in its syntax.
I don't want to write a book. If I did I'd use LaTeX before RST. I want something to take notes, make quick documentation and thread comments.
*****
My thoughts on strictly-defined XML-ish syntaxes are the same: they're harder for humans to read, write, and modify, which defeats the primary purpose and benefit of Markdown.
Very few people have to write a Markdown parser. Many orders of magnitude more have to read and write Markdown. Optimize for them even if it makes writing the parser painful.
There are other solutions which are as easy to read/write (if not more) and which are defined much better… Asciidoc comes to mind.
"Better specified" doesn't mean better. A bunch of features doesn't mean better.
Markdown is popular because it is simple. I have never had to teach anyone Markdown. They look at the file and immediately see what's going on and can copy the style.
Occasionally someone may have to look up something like table syntax, but no one in my career or personal life has ever asked me to explain Markdown to them, which is rare for a technology that is so widely used.
This has not been my experience with other markup languages.
vbezhenar
today at 6:44 PM
HTML is valid markdown. So I'm not sure how you make oppose markdown and XML. XML is basically a subset of markdown.
<b>This</b> <i>is</i> *valid*
<ul>
<li>*Mark*</li>
<li>_down_</li>
</ul>
Markdown basically adds a whole layer of complexity upon HTML.
If you're writing things like that in Markdown files (without being escaped in code blocks as HTML syntax examples), you're doing it wrong.
Not wrong, perhaps a little weird. HTML is a first class citizen in the commonmark (spec)[https://spec.commonmark.org/0.31.2/#html-blocks].
"Wrong" does not necessarily mean "against the standard". It means "against common usage and good team practice" in this context.
It's "allowed" to use raw pointers, malloc, and any number of things in C++ code. In general, if you do any of them in a modern codebase you're doing it wrong.