mirror of
https://github.com/xoofx/markdig.git
synced 2026-02-03 21:36:36 +00:00
Unable to parse relative URL to parent directories #701
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @AmadeusW on GitHub (Sep 30, 2024).
I'm writing a Markdown renderer that formats user .md files into navigable .html pages.
Some user documents contain relative paths to a parent directory, like these:
Currently,
LinkHelper.TryParseInlineLinkcallsLinkHelper.TryParseInlineLink, which callsLinkHelper.TryParseUrlleavingisAutoLinkunset asfalse. This means thatTryParseUrltreats the slash as escape character and effectively removes it.The character is not recorded as a part of trivia, and there's no way to infer its presence by examining the AST.
Setting
isAutoLinkto true seems to address this issue, but I don't know what auto link is, and whether this is an appropriate wokaround.I was thinking about a solution where we'd set a property on
InlineProcessor.MarkdownPaserContextto influenceLinkInlineParser.TryProcessLinkOrImage, but would like to get your opinion before making code changes.@AmadeusW commented on GitHub (Oct 15, 2024):
@xoofx I'd appreciate your opinion how to best fix this, or how to override the behavior of
LinkInlineParser@xoofx commented on GitHub (Oct 15, 2024):
I would use
/instead of \ and you wouldn't have to change the parser:None of the CommonMark parser are supporting \ in that case and they all trim it in the same way here
@jefflomax commented on GitHub (Nov 24, 2024):
While I do not recommend it - I pre-parsed markdown to rewrite the links to the standard, then passed that to this wonderful library. It's a pain, if you can get escaped unix style paths that's better.