我正在尝试构建一个简单的汇合宏来呈现当前父级的所有子页面。本质上是现有宏之间的交叉:子显示和包含页面。我确实看过这些宏的源代码,但由于这是我第一次在 Confluence 中进行开发,所以它更令人困惑而不是有用。
现在我正在研究 execute 方法,由于我是 Confluence 开发的新手,我不确定 100% 到底需要什么。
我已经阅读了Atlassian 的制作新 Confluence 宏的指南, 但似乎他们只是使用 html 来包装现有宏的属性列表。
所以我决定查看API,特别 是我能够非常接近的Page ,问题是,当我复制页面的主体时,我没有得到他们页面中的子宏和样式。
@Override
public String execute(Map<String, String> parameters, String body,
ConversionContext context) throws MacroExecutionException {
//loop through each child page and get its content
StringBuilder sb = new StringBuilder();
ContentEntityObject ceo = context.getPageContext().getEntity();
Page parent =(Page) ceo ;
List<Page> children = parent.getChildren();
for(Page child:children)
{
sb.append(child.getBodyAsString());
}
return sb.toString();
}
我如何获得所有内容而不仅仅是文本?
我也用 java 标记它,因为这是插件的编写。