1

我可以使用他们现有的 API 在 Confluence 中创建简单的表格。它工作得很好。这可能要求很多,但它不会做的一件事是排序类似于通过所见即所得编辑器在 Confluence 中创建的表。

例如,我从手工制作的 Confluence 文档中复制表格的 HTML,然后使用他们的 api 创建一个新文档。我将此 html 粘贴到文档中:

myHtml = '<div class="table-wrap"><table class="confluenceTable tablesorter tablesorter-default stickyTableHeaders" style="padding: 0px;"><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow"><th class="confluenceTh sortableHeader tablesorter-headerAsc" data-column="0" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">testcol</div></th><th class="confluenceTh sortableHeader" data-column="1" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">&nbsp;</div></th><th class="confluenceTh sortableHeader" data-column="2" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">&nbsp;</div></th></tr></thead><thead class="tableFloatingHeader" style="display: none;"><tr class="tablesorter-headerRow"><th class="confluenceTh sortableHeader" data-column="0" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">testcol</div></th><th class="confluenceTh sortableHeader" data-column="1" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">&nbsp;</div></th><th class="confluenceTh sortableHeader" data-column="2" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">&nbsp;</div></th></tr></thead><tbody><tr><td class="confluenceTd">q</td><td class="confluenceTd">&nbsp;</td><td class="confluenceTd">&nbsp;</td></tr><tr><td class="confluenceTd">r</td><td class="confluenceTd">&nbsp;</td><td class="confluenceTd">&nbsp;</td></tr></tbody></table></div>'

curl -u username:password -X POST -H 'Content-Type: application/json' -d'{"type":"page","ancestors":[{"type":"page","id":6358857}],"title":"new page 4","space":{"key":"~theuser"},"body":{"storage":{"value":myHtml,"representation":"storage"}}}' https://confluence.macsales.com/rest/api/content/ | python -mjson.tool

一切看起来都很棒,除了表格不会排序。我确实注意到一些标签,如 'data-column="2"' 已从 HTML 中删除。有没有办法不剥离这些标签?

我看到另一个建议使用 Confluence CLI 的帖子,但到目前为止,这种技术运行良好。能够排序就好了。

4

1 回答 1

4

这是我的一个愚蠢的错误。我正在复制在渲染后生成的 html 而不是 html 源代码。通过使用 Confluence 的类,排序工作:

<table class="confluenceTable"><tbody><tr><th class="confluenceTh">test321</th><th class="confluenceTh"> </th></tr><tr><td class="confluenceTd">h</td><td class="confluenceTd"> </td></tr><tr><td class="confluenceTd">k</td><td class="confluenceTd"> </td></tr></tbody></table>
于 2015-09-16T21:29:04.163 回答