Skip to content

Src tag: unintuitive as resources are relative to included folder #598

Description

@sijie123

Tell us about your environment

  • MarkBind Version: v1.16.1

What did you do? Please include the actual source code causing the issue.

Folder structure:

root/
- index.md
- a/
- - img.png
- - subsite.md

index.md

...
<include src="a/subsite.md" />

subsite.md

...
<img src="img.png" />

What did you expect to happen?
The subsite.md/html works, because the references are correct.
I would also expect any site reusing the subsite to work too. In this case, index.md should work and display img.png properly.

What actually happened? Please include the actual, raw output.
However, the image link is broken when viewing index.md/html. Upon inspection, the img src in index.html points to img.png, suggesting that the content of subsite.md is just copied into index.md.
To get the image to work on both sites, the code has to be changed to <img src='/a/img.png' />. However, this is tedious and unintuitive for authors to write.

Possible solution
In addition to the pre-process step of include, additionally pre-process the src tags too, replacing all relative URLs with their absolute path equivalent. For example, we could use {{baseUrl}}/a/img.png in the example above.

  • However, we need to be able to detect relative URLs vs absolute one, as well as handle additional edge cases like "http(s)://..." or "#".

Extension
This issue is also applicable to other media elements such as videos, downloadable files, css and hrefs.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions