Я использую spring restdocs для создания документации по моему веб-сайту REST; Я интегрировал эту вещь, и мой html генерируется (плагин maven + asciidoc, resassured apis). Единственная проблема, которая у меня есть, заключается в том, что ifeval либо не работает так, как рекламируется, либо я ошибся.
Мой пользовательский request-fields.snippet выглядит так:
|===
|Path|Type|Description|Optional
{{#fields}}
|{{#tableCellContent}}
ifeval::["{optional}"=="true"]
`{{path}}`
endif::[]
ifeval::["{optional}"="false"]
*`{{path}}`*
endif::[]
{{/tableCellContent}}
|{{#tableCellContent}}`{{type}}`{{/tableCellContent}}
|{{#tableCellContent}}{{description}}{{/tableCellContent}}
|{{#tableCellContent}}{{optional}}{{/tableCellContent}}
{{/fields}}
|===
«Необязательное» значение в содержимом tablecell отображается правильно («true» или «false» в зависимости от случая), но ifeval не анализируется (и, таким образом, отображается без анализа в окончательном html без ошибок).
Я пробовал разные варианты синтаксиса выражения, но ни один из них не работает; любые намеки на то, что может быть правильным синтаксисом, если таковые имеются? Я думаю об определении пользовательского атрибута и использовании ifndef для получения того же результата, но я бы предпочел использовать существующую поддержку option(), если это возможно.
В соответствии с просьбой я добавляю полученный .adoc
|===
|Path|Type|Description|Optional
|
ifeval::["{optional}"=="true"]
`name`
endif::[]
ifeval::["{optional}"=="false"]
*`name`*
endif::[]
|`String`
|Name of the new Axis
|false
|
ifeval::["{optional}"=="true"]
`description`
endif::[]
ifeval::["{optional}"=="false"]
*`description`*
endif::[]
|`String`
|Description of the new Axis
|true
|
ifeval::["{optional}"=="true"]
`tags[]`
endif::[]
ifeval::["{optional}"=="false"]
*`tags[]`*
endif::[]
|`TagDto[]`
|Hierarchical view of axis' tags
|false
|
ifeval::["{optional}"=="true"]
`tags[].id`
endif::[]
ifeval::["{optional}"=="false"]
*`tags[].id`*
endif::[]
|`Number`
|Id of the tag
|false
|
ifeval::["{optional}"=="true"]
`tags[].name`
endif::[]
ifeval::["{optional}"=="false"]
*`tags[].name`*
endif::[]
|`String`
|Name of the tag
|false
|
ifeval::["{optional}"=="true"]
`tags[].children`
endif::[]
ifeval::["{optional}"=="false"]
*`tags[].children`*
endif::[]
|`TagDto[]`
|Child tags for this tag, if any
|true
|===
=
, а не==
во втором условии, но это может быть просто опечатка в вопросе. Не могли бы вы поделиться сгенерированным фрагментом.adoc
вместо просмотра пользовательского шаблона? Кроме того, как вы включили фрагмент в свой основной файл.adoc
? - person Andy Wilkinson   schedule 21.06.2016