条件包括在asciidoc中

时间:2016-12-15 08:13:58

标签: asciidoc asciidoctor spring-restdocs

我正在使用Spring RestDoc和AsciiDoc来描述我的休息api。 RestDoc生成不同的文件,具体取决于是否有描述的请求参数/响应字段等。我希望有一个模板有条件地包括存在的任何文件。

类似的东西:

Request:

include::{reqresPath}/http-request.adoc[]

Response:
include::{reqresPath}/http-response.adoc[]

Parameters:
ifeval::[{{reqresPath}/request-parameters.adoc}.exists]
  include::{reqresPath}/request-parameters.adoc[]
endif::[]
ifeval::[{{reqresPath}/request-parameters.adoc}.exists]
  include::{reqresPath}/request-parameters.adoc[]
endif::[]

或至少在文件丢失时排除警告。但我无法弄清楚如何抑制这些。

2 个答案:

答案 0 :(得分:0)

最极端的方法是制作一个自定义的TemplatedSnippet,它会生成一个空片段...

我希望有更好的方法来做到这一点。

编辑: 看看http://asciidoctor.org/docs/user-manual/#by-tagged-regions

答案 1 :(得分:0)

截至今天,ifevalno operator 在哪里可用,可用于检查文件是否存在。

我会采用的方式是编写一个 extension for Asciidoctor,这也可以使用 Java 来完成。如果您的项目足够大,我建议您采用此解决方案。