Marked version: 0.3.17
Markdown flavor: Markdown.pl|CommonMark|GitHub Flavored Markdown
Marked can handle HTML attributes without quote like <a href=https://example.com></a> in markdown doc. It should be converted into <p><a href="https://example.com"></a></p>, the same as <a href="https://example.com"></a>.
Converted into broken HTML <p><a href=<a href="https://example.com>">https://example.com></a></a></p>
npm install markedfoo.jsnode foo.jsconst marked = require('marked');
console.log(marked('<a href=https://example.com></a>'));
<p><a href=<a href="https://example.com>">https://example.com></a></a></p>
though I expected
<p><a href="https://example.com"></a></p>
Not sure I agree with this desired behavior actually; see HTML spec: https://www.w3.org/TR/html52/dom.html#elements
There is no example in which the HTML attributes exist without quotation. Therefore, this may be one of those moments of should we do this. Do we really want to begin creating the habit of not encasing attribute values in quotes? What value is there to the developer?
<[element name] [attribute]="[value(s)]">
<[element name] [attribute]="[value(s)]">[content]</[element name]>
<!-- not, strictly speaking, valid HTML -->
<[element name] [attribute]=[value(s)]>
<[element name] [attribute]=[value(s)]>[content]</[element name]>
Allowing for non quoted attributes also could make it harder on Marked because we have to cover both use cases - quoted and non-quoted. What happens with the following case:
<a class=something something-else one-more-class>Hello, World!</a>
How do we determine what to encapsulate in quotes?
Ps. Also not sure this is referenced in the CommonMark and GFM specs. If it is, please point us to the proper example.
From CommonMark spec:
An attribute value consists of an unquoted attribute value, a single-quoted attribute value, or a double-quoted attribute value.
https://spec.commonmark.org/0.28/#attribute-value
An unquoted attribute value would only be up to whitespace so your example would be encapsulated as follows:
<a class="something" something-else one-more-class>Hello, World!</a>
@UziTech: Thanks for the spec reference. I don't see any examples that actually use unquoted attributes. Having said that, I ran tests against a couple of the examples from the spec and none of them pass.
Some of them might be fixed by #1135