AsciiDoc嵌套引用文件时图片无法在主文档显示的问题求助
解决AsciiDoc跨目录包含文档时的图片路径问题
你的问题核心是被包含文档中的相对路径是相对于主渲染文档的,而非被包含文档自身,直接用image::devScreenshot.png[]在主文档渲染时会去主文档所在目录找图片,自然找不到。
给你一个无需全局设置imagesdir的可行方案:
修改图片引用路径
把DeveloperDocumentation/DeveloperDocumentationPart1.adoc里的图片引用改成:
image::{includedir}/devScreenshot.png[]
原理说明
{includedir}是AsciiDoc的内置属性,它会自动指向当前被包含文档所在的目录(相对于主渲染文档的路径)。不管这个子文档被多少层父文档包含,这个属性都会保持正确的路径基准:
- 单独渲染
DeveloperDocumentationPart1.adoc时,{includedir}是空值,路径等价于原写法,正常显示; - 渲染
DeveloperDocumentation.adoc时,{includedir}对应./(当前目录),路径正确; - 渲染
Documentation.adoc时,{includedir}对应DeveloperDocumentation/,正好指向图片所在目录。
这种方式不需要统一图片存放位置,每个子目录的资源都可以用{includedir}来定位,完美适配你的多目录资源分布场景。
内容的提问来源于stack exchange,提问作者jasie
相关产品推荐
相关产品推荐

