我是ASCIIDOC的新手,只是想知道下面的问题是从哪里来的。
设置:
- 使用新设置的ASCIIDOC插件进行Intellij
- 带有
preserveDirectories = true
的新闻集asciidoctor-maven插件
我这样组织我的腹水:
- footer.adoc
- header.adoc
- index.adoc
- 子文件夹
- index.adoc
generated-docs看起来像这样:
- footer.html
- header.html
- index.html
- 子文件夹
- index.html
现在,如果我想让subfolder/index.html也包含页眉和页脚,我想我需要把include::../header.adoc[]
写入adoc文件,这对Intellij插件来说是没有问题的。但是在生成的html中,你会发现以下错误:
<p>Unresolved directive in index.adoc - include::../header.adoc[]</p>
所以当我把下面的代码写入adoc文件时:include::header.adoc[]
生成的html很好,但Intellij ASCIIDOC插件显示错误:Unresolved directive in <stdin> - include::header.adoc[]
我只是想知道这是Intellij插件团队的bug还是Maven插件团队的bug。或者也许有人有解决这个问题的方法?
还有一个额外的问题:是否可以配置maven插件不生成header-/footer. html,因为它们已经包含在实际的html中了?
2条答案
按热度按时间4jb9z9bj1#
我没有使用Maven插件的经验,但我有很多使用AsciDoc、IntelliJ插件和Gradle插件的经验。
IntelliJ插件行为是正确的。转换
/subfolder/index.adoc
时,将相对于此文件解析包含,因此包含include::../header.adoc
是正确的。您描述说您没有指定要为Maven插件渲染的文件(
header.adoc
已转换)。这可能是Maven插件的问题:您只需指定源路径,所有文档都相对于此源路径呈现,因此
/subfolder/index.adoc
具有错误的源路径。使用Gradle插件,您可以指定要转换的所有文档。这还可以避免转换
header.adoc
。从Maven插件文档中,我看到您只能指定单个文件。考虑到这一点,我建议你改变你的文件结构,把所有要转换的文件放在一个文件夹里。然后你可以指定这个文件夹,其他的文件就不会被转换。这也可以解决你的相对路径名问题:
ibrsph3r2#
我知道这有点晚了,答案可以在restdoc手册的文档中找到,该手册位于Spring.io的https://spring.io/guides/gs/testing-restdocs/的“Using the Snippets”部分。在示例gradle项目中对此有一些提及
maven插件的配置应该如下所示: