Markdown is intended to be a light weight styling tool to write HTML without actually having to write all the tags. According to the original creator, John Gruber, it's a minimal syntax because it's supposed to assist in writing HTML, not replace writing it. Inline HTML should be supported, and allow for any cases where markdown doesn't cut the mustard.
Why even use markup at all then? Because there are so many tools to support it, it's easier to read when I'm editing it, and makes writing on the go easier.
There are a million different implementations with it- these are the features I rely on, no more and no less.
Inline marks
| markdown text | html |
|---|---|
| **text** | <strong/>text<strong/> |
| *text* | <em>text<em/> |
| > text | <blockquote>text</blockquote> |
| `text` | <code>text</code> |
| --- | <hr /> |
| [text](url optional title) | <a href=url title="optional title">text</a> |
|  | <img href=url\ alt="image alt text"/> |
| # text | <h1>text</h1> |
| ###### text | <h6>text</h6> |
| `text` | <code>text</code> |
| "text" | <q>text</q> |
weird one that I use because obsidian uses it and I like it
| html | markdown text |
|---|---|
| [[text]] | <a href="{{ url of file 'text.md' }}">text</a> |
[text][ref]
.... in the footer
[ref]: url "optional title"
should render to
text<sup><a href="#reference">reference</a></sup>
... in the footer
<a id="reference" href="url" title="optional title">[reference]</a>
block marks
```wrapped text``` should render <pre><code>wrapped text</code></pre> and render the wrapped text as is, symbols and all.
lists
- 茄子
- 香蕉
- 橘子
should produce
<ul>
<li>茄子</li>
<li>香蕉</li>
<li>橘子</li>
</ul>