Confluence 存储格式 - 任何人都玩过 anchor 和 anchor-link 宏

Confluence Storage Format - Anyone played with anchor and anchor-link macro

我正在解析 dita xml and I have to generate Confluence Storage Format

我在使用 Anchor macro 时遇到困难,而 dita 格式有外部参照,其行为方式与 html 本地 link <xref href="#id">title</xref>....<any id="id"... 相同,汇合接缝有自己的独特的语法。

有人有关于如何构建正确的锚点并且 link 正确使用的好例子吗?

anchor 宏实际上创建了一个 HTML <span> 元素,该元素的 ID 包含页面标题和锚点。

<span id="CONFLUENCEPAGENAME-ANCHORNAME" class="confluence-anchor-link"></span>

因此,如果您的 confluence 页面代表一个主题,那应该很容易实现(因为 CONFLUENCEPAGENAME 等于您的主题标题或关键字或 ID 或您使用的任何内容)。只需创建一个空的 confluence 页面,添加一个 anchor 宏,保存并检查呈现的 HTML.

终于想通了

我们在 link 应该发送给用户的地方插入了一个锚点,而不是元素上的 id,我将它插入到 header 的正上方。 <ac:structured-macro ac:name="anchor"><ac:parameter ac:name="">The_Id</ac:parameter></ac:structured-macro>

锚 link 就是这样构建的。 <ac:link ac:anchor="The_Id"><ac:plain-text-link-body><[CDATA[text describing the link]]></ac:plain-text></ac:link>

在 Confluence 5.7 上测试

Saloparenator的回答有一个小错误。锚link是:

<ac:link ac:anchor="The_Id">
    <ac:plain-text-link-body>
        <[CDATA[text describing the link]]>
    </ac:plain-text-link-body>
</ac:link>

如果您想要 link 的页面有一个 TableOfContents - 并且您想要 link 从不同的页面 2 到此页面 1 中的一个部分...

查看第 1 页,然后单击 TableOfContents 中的 link,这将带您转到同一第 1 页上的部分。

现在从您的浏览器地址栏复制此 URL(类似于 http://confluence/page1#anchor),然后转到您要放置 link 的页面 2。

编辑 page2,然后粘贴指向 page1 的 link。