Confluence存储格式 - 任何使用锚点和锚点链接宏的人

问题描述 投票:3回答:4

我正在解析dita xml,我必须生成Confluence Storage Format

我面临着与Anchor macro的困难,而dita格式有外部参照,其行为方式与html本地链接<xref href="#id">title</xref>....<any id="id"...相同,汇合缝有自己独特的合成器。

有人有关于如何构建正确的锚并正确链接它的任何好例子吗?

xml anchor confluence dita
4个回答
2
投票

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

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

因此,如果您的汇合页面代表一个主题,那么应该很容易实现(因为CONFLUENCEPAGENAME等于您的主题标题或密钥或ID或您使用的任何内容)。只需创建一个空的汇合页面,添加一个anchor宏,保存它并检查渲染的HTML。


1
投票

我终于弄明白了。

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

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

在Confluence 5.7上测试


1
投票

Saloparenator的答案中有一个小错误。锚链接是:

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

0
投票

如果您要链接的页面具有TableOfContents - 并且您希望从不同的page2链接到此page1中的某个部分...

查看第1页,然后单击TableOfContents中的链接,该链接将转到同一页面1上的部分。

现在从您的浏览器地址栏中复制此URL(它将类似于http://confluence/page1#anchor),然后转到您要放置链接的page2。

编辑page2,并粘贴指向page1的链接。

© www.soinside.com 2019 - 2024. All rights reserved.