markdig icon indicating copy to clipboard operation
markdig copied to clipboard

Unable to parse relative URL to parent directories

Open AmadeusW opened this issue 4 months ago • 2 comments

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:

[example link](..\example.md)
[example link](\..\example.md)

Currently, LinkHelper.TryParseInlineLink calls LinkHelper.TryParseInlineLink, which calls LinkHelper.TryParseUrl leaving isAutoLink unset as false. This means that TryParseUrl treats 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 isAutoLink to 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.MarkdownPaserContext to influence LinkInlineParser.TryProcessLinkOrImage, but would like to get your opinion before making code changes.

AmadeusW avatar Sep 30 '24 16:09 AmadeusW