【问题标题】:How reference correctly images through many .adoc files located in different folders如何通过位于不同文件夹中的许多 .adoc 文件正确引用图像
【发布时间】:2015-11-03 16:43:17
【问题描述】:

我正在使用 Atom Editor + 关于 asciidoctor 的两个插件/包。

  • asciidoc 预览
  • 语言-asciidoc

一切都按预期工作。但我有以下情况:

我的目录结构如下:

xml
  figures
     findOneXml.adoc
     findOneXml.png
  urls
     findOne.adoc

findOneXml.adoc(在 figures 文件夹中)的位置

[[findOneXml]]
image::findOneXml.png[caption="Figure - " title="findOneXml"]

通过实时预览,我可以看到图像及其各自的描述

现在findOne.adoc(在 url 文件夹中)包含以下行:

include::../figures/findOneXml.adoc[]

我认为路径引用没问题。如果我使用其他,实时预览会显示有关无效或错误路径的错误消息。

但通过实时预览,我看到图像损坏,但我可以看到描述。

出了什么问题或遗漏了什么?

即使include::./../figures/findOneXml.adoc[] 失败

注意:在子/子文档中,我需要添加其他数据如何注释、提示(警告),该子文档将被其他父母多次重复使用。所以我只需要参考图像。

谢谢

【问题讨论】:

    标签: atom-editor asciidoc asciidoctor


    【解决方案1】:

    图像是相对于 asciidoc 渲染引擎的内部基本路径解析的。在您的情况下,我假设引擎采用渲染(主,父)文档的路径。因此,图像是相对于它进行解析的。试试:

    image::../figures/findOneXml.png[]
    

    这应该适用于两个 adoc 文档,因为路径向上移动到父目录,然后显式向下移动到图形目录。

    如果您想为图像建立一个共同的绝对基础,您还可以将:imagesdir: 属性设置为图像目录的基础 url。这也应该适用于实时预览:

    【讨论】:

    • 您好,感谢您的回复。即使在子/子文档中有效(尚未测试),我也需要添加其他数据如何注释,提示(警告),该子文档将被其他父母多次重用。所以我只需要参考图像。
    • 运行 asciidoctor 时(不确定插件,如果它们使此选项可用),您需要将根目录设置为某个父文件夹,然后根据需要调整引用,在您的示例中我会说使用xml 作为父目录。
    • 在我的回答中添加了更多信息,让您了解 :imagesdir: 属性。
    • @ManuelJordan 一旦你设置了 :imagesdir: 文件夹,它会影响所有 image::* 引用,即使是子文件夹 - 所以如果你需要引用 :imagesdir: 子文件夹中的图像,只需使用例如image::sub/findTwoXml.png
    • @ManuelJordan 我仍然认为您误解了我回答的第一部分。只要您的父文档与包含的图形/findOneXml.adoc 位于文件夹层次结构的“深度”相同(无论特定文件夹如何!),您就可以使用 image::../figures/findOneXml.png[]在figures/findOneXml.adoc 中,您的父文档(包括findOneXml.adoc)将成功显示图像,因为路径../figures/findOneXml.png 对它们也完全有效。在这种情况下,您不需要 :imagesdir: - 这完全取决于您非常具体的要求...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 2013-08-29
    • 2019-02-10
    • 2022-08-04
    相关资源
    最近更新 更多