* Sean Leonard <dev+i...@seantek.com> [2014-07-12 16:35]: > However, if you have Markdown in the HTML content with markdown="1" as > with PHP Markdown Extra, it is necessary to parse the HTML with > something other than a straight HTML parser since the straight HTML > parser will misinterpret the Markdown (e.g., & will be a validation > error).
That parser is Markdown itself. You can already put Markdown inside HTML tags, it’s just that normally Markdown will only parse the content of inline tags like EM and SPAN, not block tags like P or DIV. This was an explicit design choice. The markdown="1" attribute does nothing more than turn off this distinction temporarily. (The block tag rule allows you to write portions of your document as plain old HTML when Markdown is insufficient, and also allows you to pass stuff through Markdown several times (e.g. fragments in a CMS getting passed through Markdown at various stages of page assembly) without screwing up the document. I consider it the smartest choice in the design of Markdown: the reason it has been adopted where other syntaxes have remained confined to niches. It means almost any HTML fragment is also a Markdown fragment, so it’s easy to add Markdown to any publishing workflow that involves HTML somewhere even if it wasn’t designed for that at all, and the content can then be ported piecemeal instead of boil-the-ocean. Classic embrace-and-extend.) > Therefore: > Markdown has no concept of markdown validity. Correct. > Markdown may have a concept of HTML validity. Not really. Individual processors may, but Markdown itself has nothing to say about that. The original implementation of course is implemented as a text substitution system, which means if you give it Markdown that contains invalid HTML then you’ll simply get HTML that’s invalid in the same way, to then be interpreted by the browser however the browser may. My guess is that the majority of implementations behave equivalently to this, though depending on their design they could differ completely. Regards, -- Aristotle Pagaltzis // <http://plasmasturm.org/> _______________________________________________ Markdown-Discuss mailing list Markdown-Discuss@six.pairlist.net http://six.pairlist.net/mailman/listinfo/markdown-discuss