使用Asciidoctor API查找内嵌图像

时间:2018-03-07 08:39:05

标签: ruby asciidoctor

如何使用Asciidoctor API在asciidoc文件中找到所有引用的图像?

我可以使用image::file_name[]找到块图像但是我无法找到内嵌图像。

以下是我提出的代码:

require 'asciidoctor'

input = <<-EOS
= Title

== Chapter 1

image::foo.png[]

=== Section 1.1

image::bar.png[]

This is a paragraph with inline image image:baz.png[].
EOS

doc = Asciidoctor.load input

doc.find_by(context: :image).each do |e|
  pp e.attributes["target"]
end

运行此代码会产生:

"foo.png"
"bar.png"

但找不到最后一个内联图片baz.png。我可以在哪里/哪里更改以查找baz.png

1 个答案:

答案 0 :(得分:0)

Asciidoctor在渲染期间解析内联内容。结果,嵌入式图像在AST上不可用(请参阅:https://github.com/asciidoctor/asciidoctor/issues/61

我相信这个问题将在规范过程中得到解决:https://projects.eclipse.org/proposals/asciidoc-language