You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
commonmark-cli -x autolinks <<EOF[https://www.website.com](https://www.website.com#something)[[email protected]](mailto:[email protected]?subject=Some%20subject)[A website similar to https://www.foo.com and https://www.bar.com](https://www.baz.com)EOF
results in (note the nested <a> tags):
<p><ahref="https://www.website.com#something"><ahref="https://www.website.com">https://www.website.com</a></a></p><p><ahref="mailto:[email protected]?subject=Some%20subject"><ahref="mailto:[email protected]">[email protected]</a></a></p><p><ahref="https://www.baz.com">A website similar to <ahref="https://www.foo.com">https://www.foo.com</a> and <ahref="https://www.bar.com">https://www.bar.com</a></a></p>
while I would expect
<p><ahref="https://www.website.com#something">https://www.website.com</a></p><p><ahref="mailto:[email protected]?subject=Some%20subject">[email protected]</a></p><p><ahref="https://www.baz.com">A website similar to https://www.foo.com and https://www.bar.com</a></p>
One reason is that nested links are illegal in HTML5 and HTML4.
Actually this may be a bit hard to achieve, given the architecture used in this library. If we were parsing to an AST, we could simply substitute any links in the link description for their associated link text. But this library allows you to parse directly to an output format, so this isn't possible in general. Moreover, we don't know whether a bit of text is part of a link description until AFTER we've parsed it as an autolink (since the matching of brackets takes place at a later stage).
If you parse to an AST (which is possible, just not required, with this library), then you can always walk the document after parsing and remove links inside links.
Calling:
results in (note the nested
<a>
tags):while I would expect
One reason is that nested links are illegal in HTML5 and HTML4.
This bite me in srid/emanote#349.
The text was updated successfully, but these errors were encountered: