mirror of
https://github.com/xoofx/markdig.git
synced 2026-02-12 21:39:32 +00:00
MediaLinks Extension doesn't work on relative links #606
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 @RickStrahl on GitHub (Jun 13, 2023).
It appears that the
.UseMediaLinks()extension does not detect media when the URL is not an http link, but rather a relative path.The following demonstrates:
Note that the only media link created correctly is the one that has the full HTTP link while the relative link/no path ones render as images which is not correct.
Here's a Gist with the above code:
https://gist.github.com/RickStrahl/36035c87787fc24e37861059e40a6f8b
@RickStrahl commented on GitHub (Jun 13, 2023):
For reference here's a screen shot of Markdown Monster rendering the above links as well as a relative image and an explicit HTML video tag:
For the markdown media links only the online
https://links work.However the manual video link work fine with a relative path for image rendered out of the current path (cut off bottom image is a video player instance).
@xoofx commented on GitHub (Jul 8, 2023):
Medialinks extension only supports absolute URL. It could support relative with an option to allow them.
I don't have time to implement such feature but PR welcome if someone is looking for this.
@RickStrahl commented on GitHub (Jul 8, 2023):
Do you think relative paths need an option? Seems like this should just work otherwise it's confusing why some media links work and some do not.
Looks like the only other parser that actually supports media link parsing (on Babelmark) is PanDoc. PanDoc turns relative paths into respective
<video>and<audio>links along with fully qualified Urls.If I find some time I'll take a look.
@xoofx commented on GitHub (Jul 8, 2023):
Problem is more backward compatibility that could start to break existing code that were relying on this behavior.