在 asciidoctorj 插件中创建多个块

create multiple blocks in asciidoctorj plugin

asciidoctorj groovy 插件中的 blockProcessor 能够 returning 一个块。所以,很容易把一个方块变成另一个方块。

我找不到关于如何在一个 blockProcessor 中创建多个块以及可用的块类型的某种文档。

知道如何 return 用两个而不是一个块吗?我已经尝试使用 parent 参数但无法得到结果。

我试图通过分析来源找到答案,但我没有成功。 我目前的感觉是,通过java和ruby的组合,asciidoctorj的扩展点目前是"broken",这样就不可能在一个parent块中添加几个块.

2年后... 我能够以这种方式在 BlockProcessor 中构建子块列表:

Map<String,Object> argAttributes = new HashMap<String,Object>();
argAttributes.put("content_model",":raw");
Block block = createBlock(parent,"open", "", argAttributes, new HashMap<Object,Object>());
for(int i=0; i<3; i++){ // do your business
    List<String> all = ... 
    Block child = createBlock(block,"literal",all, new HashMap<String,Object>(), new HashMap<Object,Object>() );
    block.getBlocks().add(child);
}
return block;