asciidoc asciidoctor 包括 adocs 和它们的图像

asciidoc asciidoctor include adocs and their images

我正在构建我的 asciidoc 模板来管理我的开发文档。 因此我希望能够link 现有的ascii 文件转换成一个主/或新文件 包括图像 和其他资源。对于 link 文档,我使用 include 关键字来将文档引用到新文档中。

问题

我的问题是,包含/引用文档的图像没有显示。我知道图像的路径解析从主文档开始,而不是与包含/引用的文档图像中的路径相匹配。包含文档中的图像路径是正确的。仅生成包含的文档时显示图像。有没有人有解决这个问题的好方法?

图像中包含的无效文档示例

1.文件的目录结构。

main.adoc 包括 Risikoanalyse_v2.adoc 包含图像

2。 main.adoc 文档的内容

== Content 1

ratatata

include::./Risikoanalysen/Risikoanalyse_v2.adoc[]

3。 Risikoanalyse_v2.adoc

的内容
= Risikoanalyse 
Inhaltsverzeichnis
:doctype: book
:toc: left
:toclevels: 4
:sectnums:

:version: Version 2.0, 03.03.2019
{version}

<<<
== Risiken
bachelor party

image::Risikodiagramm_1_v2.png[Risikodiagramm,300,align="center"]       // image that is not resolved

<<<
== preventive Gegenmassnahmen
rooftop party

image::Risikodiagramm_2_v2.png[Risikodiagramm,300,align="center"]       // image that is not resolved

4.生成文件的命令

我不确定你是否尝试过。

将所有图像添加到目录 ./images 中。这是 asciidoctor 从中获取图像的默认目录。

您的链接保持不变:

image::Risikodiagramm_2_v2.png[Risikodiagramm,300,align="center"]

您可以配置此路径:

:imagesdir: myImages

参见 https://asciidoctor.org/docs/user-manual/#setting-the-location-of-images

此代码片段适用于我的用例,即:在部分文档中呈现图像,例如当您只想阅读主文档中的单个模块 doc + 渲染图像时,该模块用于在一个地方提供包含所有部分文档的合并文档。

解决方案是为所有文件准备一个公共图像目录。

  1. 主文档 main.adoc 包括其他部分文档:
    = Main document
    :imagesdir: ./doc/_images
    
    include::./modules/README.adoc[leveloffset=2]
    
  2. 部分文档 ./modules/README.adoc,单独使用并作为大 main.adoc 文档的一部分:
    = Modules documentation
    ifndef::imagesdir[:imagesdir: ../doc/_images]
    
    image::image_file_name.png[]
    

归功于 https://github.com/asciidoctor/asciidoctor-pdf/issues/93#issuecomment-222029230