markdown-it-py icon indicating copy to clipboard operation
markdown-it-py copied to clipboard

`_https://example.com/a_` not parsed correctly

Open nschloe opened this issue 2 years ago • 3 comments

Describe the bug

MWE:

from markdown_it import MarkdownIt
from markdown_it.tree import SyntaxTreeNode

md = MarkdownIt("gfm-like")

# okay:
tokens = md.parse("_https://example.com_")
print(SyntaxTreeNode(tokens).pretty())

# bug:
tokens = md.parse("_https://example.com/a_")
print(SyntaxTreeNode(tokens).pretty())

Output:

<root>
  <paragraph>
    <inline>
      <em>
        <link href='https://example.com'>
          <text>
<root>
  <paragraph>
    <inline>
      <text>
      <link href='https://example.com/a_'>
        <text>

Note how the underscore is incorrectly included in the last link.

Reproduce the bug

See above.

List your environment

No response

nschloe avatar Dec 09 '23 11:12 nschloe

See https://github.com/executablebooks/markdown-it-py/issues/316#issuecomment-1862367930

chrisjsewell avatar Dec 19 '23 09:12 chrisjsewell

https://github.com/markdown-it/markdown-it/issues/518 https://github.com/markdown-it/markdown-it/issues/38

tsutsu3 avatar Dec 23 '23 19:12 tsutsu3

linkify-it-py works the same as linkify-it as specified. This is not a bug.

The solution is to enclose it in <>. For example, _<https://example.com>_, _<https://example.com/a>_.

See markdown-it demo

tsutsu3 avatar Dec 23 '23 19:12 tsutsu3