Я создаю PDF-документ из asciidoc с помощью asciidoctor-web-pdf. Пока большинство задач работает нормально.
asciidoctor-web-pdf -a stylesheet="asciidoctor-pdf/css/asciidoctor.css,asciidoctor-pdf/css/document.css,assets/pdf-export/custom.css" \
-a stem \
--require asciidoctor-kroki \
docs/modules/ROOT/pdf.adoc
Но мой документ не содержит изображений или сгенерированных диаграмм (plantuml).
Структура папок соответствует структуре Антора, потому что я в основном использую Антору. PDF — это просто необходимый побочный продукт.
Моя структура папок выглядит так (как сказал antora-layout):
project-folder
+ docs
| + modules
| | + ROOT
| | | + assets
| | | | + images
| | | | | - logo.png
| | | + pages
| | | | - index.adoc
| | | | - 01-intro.adoc
| | | | - some-other.adoc
| | | - nav.adoc
| | | - pdf.adoc
pdf.adoc — это просто список включений, чтобы убедиться, что каждый необходимый файл adoc является частью PDF.
Согласно структуре папок правильный путь к моему logo.png — docs/modules/ROOT/assets/images/logo.png
(или абсолютный /home/sebastian/work/workspace/workspace-p/jira-ops-manual/docs/modules/ROOT/assets/images/logo.png
).
Когда я создаю PDf с помощью приведенной выше команды, я получаю следующие ошибки:
- нормальное изображение
Failed to load resource: net::ERR_FILE_NOT_FOUND at file:///home/sebastian/work/workspace/workspace-provinzial/jira-ops-manual/docs/modules/ROOT/logo-provinzial.png:1
- диаграмма растений
asciidoctor: ERROR: pages/04-system-setup/index.adoc: line 8: include file not found: /home/sebastian/work/workspace/workspace-provinzial/jira-ops-manual/docs/modules/ROOT/pages/04-system-setup/image$04-system-setup/system-overview.puml
Я предполагаю, что проблема в том, что asciidoctor-web-pdf не заменяет часть пути image$...
, поэтому ссылка неверна (или вообще не может разрешить эти ссылки). Изображения и диаграммы встраиваются следующим образом:
image::logo.png[Logo, align="center"]
[plantuml, system-overview-plantuml-image, svg]
----
include::image$04-system-setup/system-overview.puml[]
----
Кто-нибудь подскажет, как решить мою проблему? Я открыт и для других решений. Может быть, есть более простой способ с antora, поэтому мне вообще не нужен asciidoctor-web-pdf?
EDIT: я решил проблему с обычными изображениями, установив путь к изображениям в верхней части pdf-adoc.
= Operations Manual
:imagesdir: ./assets/images
include::pages/index.adoc[]
include::page1.adoc[]
include::page2.adoc[]
...
But the problem with the plantuml images still exists.
:imagesdir: ./активы/изображения