# Markdown is broken I have a lot of scraps of markdown engine oddities that I've collected over the years. What you see below is slightly messy, but it's what I've managed to cobble together to illustrate the differences between markdown engines, and why, if there ever is a markdown specification, it has to be absolutely thorough. There are a lot more of these little differences I have documented elsewhere. I know I will find them lingering on my disk one day, but until then, I'll continue to add whatever strange nonsensical things I find. Some of these examples may only mention a particular engine compared to marked. However, the examples with markdown.pl could easily be swapped out for discount, upskirt, or markdown.js, and you would very easily see even more inconsistencies. A lot of this was written when I was very unsatisfied with the inconsistencies between markdown engines. Please excuse the frustration noticeable in my writing. ## Examples of markdown's "stupid" list parsing ``` $ markdown.pl * item1 * item2 text ^D
item1
text
item1
text
world
world
item1
text
item1
text
world
world
world
world
code>var a = 1;
<div>hello</div>
<span>hello</span>
``` ``` bash $ markedhello
``` - - - See: https://github.com/evilstreak/markdown-js/issues/27 ``` bash $ markdown.js [![an image](/image)](/link) ^D ``` ``` bash $ marked [![an image](/image)](/link) ^D ``` - - - See: https://github.com/evilstreak/markdown-js/issues/24 ``` bash $ markdown.js > a > b > c ^D``` ``` bash $ marked > a > b > c ^Da
bundefined> c
a
b
``` - - - ``` bash $ markdown.pl * hello * world how are you * today * hi ^Dc
hello
are you
hello
world how
are you
today