RFC: Remove <p> Paragraph Tags between <li> Tags

Waylan Limberg waylan at gmail.com
Sat Nov 23 21:19:45 EST 2013

On Saturday, November 23, 2013, Mariusz Wojcik wrote:

> <li>[Home](/)</li>

> <li>[About Me](/about-me.html)</li>

> <li>[Projects](/projects.html)</li>


> creates


> <p><li><a href="/">Home</a></li>

> <li><a href="/about-me.html">About Me</a></li>

> <li><a href="/projects.html">Projects</a></li></p>


> Is this a bug or a feature? I think it shouldn't be that way because the

> <p>

> Tags around `li`s are illegal.


As the docs [1] state: “Markdown is smart enough not to add extra
(unwanted) `<p>` tags around HTML block-level tags.” The key there is
“block-level tags” which `<li>`s are not ( go ahead and check the HTML spec
on that). If you want to create raw HTML lists, then you need to wrap them
in the appropriate block-level tag yourself.

This is a case of garbage in - garbage out. When you're using raw HTML, you
need to use valid HTML. Markdown will not fix your invalid HTML for you.
So, in your case, a `<li>` not in a `<ol>` or `<ul>` in not valid HTML.
Therefore markdown doesn't fix it to make it valid. Markdown's
understanding of HTML is way to limited for that.

Hope that explains things for you.

[1]: http://daringfireball.net/projects/markdown/syntax#html

Waylan Limberg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://six.pairlist.net/pipermail/markdown-discuss/attachments/20131123/44b81f41/attachment.html>

More information about the Markdown-Discuss mailing list