-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTML Attributes without quote is broken #1141
Comments
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:
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 |
Marked version: 0.3.17
Markdown flavor: Markdown.pl|CommonMark|GitHub Flavored Markdown
Expectation
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>
.Result
Converted into broken HTML
<p><a href=<a href="https://example.com>">https://example.com></a></a></p>
What was attempted
npm install marked
foo.js
node foo.js
Call stack & console log
though I expected
The text was updated successfully, but these errors were encountered: